Program qq; const n=5; var a: array[1..n] of integer; i,imax: integer; begin writeln('исходный массив: '); for i: =1 to n do begin a[i]: =random(100)+50; write(a[i]: 4); end; imax: =1; {считаем,что певый-минимальный} for i: =2 to n do {проверяем все остальные} if a[1]> a[imax] then {новый минимальный} imax: =1; {запомнить i} writeln; {перейти на новую строку} writeln('минимальный элемент a[',imax,']=', a[imax]); end. исправить чтобы получилось минимальный массив
206
314
Ответы на вопрос:
Надеюсь это то что надо const n = 5; var a: array[1..n] of integer; i, imin: integer; begin writeln('исходный массив: '); for i : = 1 to n do begin a[i] : = random(100) - 50; write(a[i]: 4); end; imin : = 1; {инциируем первым элементом} for i : = 2 to n do {проверяем все остальные} if a[i] < a[imin] then {новый минимальный} imin : = i; {запомнить i} writeln; {перейти на новую строку} writeln('минимальный элемент a[', imin, ']=', a[imin]); end.
0. ты никак не задаёшь n в программе. тебе стоит хотя бы прочитать его: read(n); 1. что написано внутри условия цикла while? если по твоему решению, должно быть "i < = n" 2. делители будут "прилипать" друг к другу, выводи так: write(i, ' '); 3. твой счётчик i не увеличивается, программа зациклится. после if'а вставь i : = i + 1; итоговый код: var n, i: integer; begin read(n); i : = 1; while (i < = n) do begin if n mod i = 0 then write(i, ' '); i : = i + 1; end; writeln('n'); end. есть, кстати, альтернативный способ поиска делителей. выводить их он будет, правда, не в порядке возрастания. var n, i: integer; begin read(n); i : = 1; while (i * i < n) do begin if n mod i = 0 then write(i, ' ', n div i, ' '); i : = i + 1; end; if i * i = n then write(i, ' '); writeln('n'); end.
Популярно: Информатика
-
MarinaKim11106.02.2023 10:39
-
abduabdu201516.12.2022 20:43
-
яяяяяя6022.03.2022 17:43
-
mmmm5217.01.2020 04:55
-
марина191602.03.2021 01:17
-
MrtMiyaGi07.01.2022 06:59
-
link2126.11.2022 17:34
-
vaniafatyanov29.05.2023 16:01
-
veragerasimova319.05.2021 22:45
-
Пава130504.02.2021 19:13