ridyana504
?>

Заполнить массив с из 15 элементов следующим образом: первые пять элементов ввести с клавиатуры остальные целыми случайными числами из интервала [-6..6] массив распечатать в строчку найти максимальный элемент кратный трем.

Информатика

Ответы

ananyananar
1 2 3 4 5 6 7 8 9 10 11 12 program fpro; var a : array[1..10] of integer; i : integer; begin randomize; for i :=1 to 10 do begin   a[i] := random(1,20);   if (a[i] > 5) and (a[i] < 15) then writeln(a[i]); end; end
ValeriyaAleksandr
program sky;
uses crt;
var c: array [1..15] of integer; i,max : integer;
begin
write ('введите 5 чисел: ');
for i:=1 to 5 do begin read(c[i]); for i:=6 to 15 do begin c[i]:=-7+random(13); write(' ',c[i]);end;
c[1]:=max;
for i:=2 to 15 do begin if(c[i] mod 3 =0) then begin if(c[i]>max) then max:=c[i];end;end;
writeln('максимальное число,которое /3= ',max);
end.
 
nusupova

На строке 9 "if x>=-7.5 and x<2 then y:=(a*sqrt(abs(x+6))); " в том месте, где выделено жирным, компилятор думает, что необходимо произвести побитовое умножение числа с плавающей точкой типа real -7.5 и целого числа x. Т.к. побитовое умножение применимо только к целым числам, компилятор пытается преобразовать -7.5 к целому числу, т.е. к integer, и у него это не получается, о чем он Вам и говорит.

Чтобы он не думал, что Вы собираетесь производить побитовое умножение (ведь Вы хотите произвести логическую операцию между результатами двух сравнений), нужно занести в скобки выражения x>=-7.5 и x<2, чтобы получилась такая строка: "if (x>=-7.5) and (x<2) then y:=(a*sqrt(abs(x+6))); "

владимировнаКлютко
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2).
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
   then write(fr2,Marshrut)
   else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
  begin
  read(fr, Marshrut);
  write(fr2,Marshrut);
  end;
if (kol=1) then  write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).

Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
 begin
 read(fr, Marshrut);
 seek (fr, k1);
 write(fr, Marshrut);
 seek (fr, k2);
 write (fr, y);
 end;

end;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Заполнить массив с из 15 элементов следующим образом: первые пять элементов ввести с клавиатуры остальные целыми случайными числами из интервала [-6..6] массив распечатать в строчку найти максимальный элемент кратный трем.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

armynis8
sirenashop25
ilma20168
Struev730
Стародубцева_Васильевич485
ВладимировичСтанислав
admiralbany
Eduardovich
NataliaBerezovskaya33
zakupki
sssashago8
Karpova
gip5362
coleslow12
Khrimyan1207