Есть ответ 👍

Написать программу, которая находит три самых больших элементов массива, и вместо них записывает их номера ячеек \ массив [1..5]

210
470
Посмотреть ответы 3

Ответы на вопрос:

tanshka
4,6(85 оценок)

Исходный массив: -3 -4 -1 -8 6 max1 = a[5] = 6 max2 = a[3] = -1 max3 = a[1] = -3 новый массив: 1 -4 3 -8 5const     n = 5; var     a: array[1..n] of integer;     i,max1,max2,max3: integer; begin randomize; write('исходный массив: '); for i: = 1 to n do       begin       a[i]: =random(21)-10;       write(' ',a[i]);       end; max1: =1; for i: = 2 to n do       if a[i]> a[max1] then max1: =i; if max1< > 1 then max2: =1 else max2: =2; for i: = 1 to n do       if (a[i]> a[max2])and(a[i]< =a[max1])and(i< > max1) then max2: =i; max3: =1; if (max2=max3)or(max1=max3) then max3: =max3+1; if (max2=max3)or(max1=max3) then max3: =max3+1; for i: = 1 to n do       if (a[i]> a[max3])and(a[i]< =a[max2])and(i< > max2) then max3: =i; writeln; writeln('max1 = a[',max1,'] = ',a[max1]); writeln('max2 = a[',max2,'] = ',a[max2]); writeln('max3 = a[',max3,'] = ',a[max3]); a[max1]: =max1; a[max2]: =max2; a[max3]: =max3; write('новый массив: '); for i: = 1 to n do       write(' ',a[i]) end. пример работы программы: исходный массив: -3 -4 -1 -8 6 max1 = a[5] = 6 max2 = a[3] = -1 max3 = a[1] = -3 новый массив: 1 -4 3 -8 5

// pascalabc.net 3.2, сборка 1417 от 28.03.2017 // внимание! если программа не работает, обновите версию! begin   var a: =arrrandom(5,-50,50); a.println;   var b: =a.select((x,i)-> (x,(xi-> xi[0]).           select(xi-> xi[1]).take(3);   foreach var i in b do a[i]: =i+1;   a.println; end. пример 39 -22 -29 49 -18 1 -22 -29 4 5

1.

program asd; uses crt; var a: array[1..10] of integer; i: integer; sum: integer; beginwriteln('введите 10 цифр по очереди'); for i: =1 to 10 do begin readln(a[i]); if (a[i]> 7) then begin a[i]: =7; sum: =sum+1; end; end; writeln(' ',sum);

end.

 

2.  смысл ? 10/2=5 или индексами ты имела ввиду значениями?  

3.program asd; uses crt; var a: array[1..10] of integer; i: integer; naib: integer; beginwriteln('введите 10 цифр по очереди'); for i: =1 to 10 do begin readln(a[i]); if (a[i]> naib) then naib: =a[i]; end;

writeln(' ',naib);

end.

Популярно: Информатика