
Имеется код: var a: array[1..15] of integer; i,k,l,z,b,c,qu:integer; min,max,u:byte; begin
randomize; l:= 0; k:= 0; for i:= 1 to 15 do a[i]:=random(20,40); writeln; for i:= 1 to 15 do write(a[i]:4); writeln; writeln; for i:= 1 to 15 do if a[i]<0 then l:= l+1 else if a[i]>0 then k:= k+1; if l>k then writeln('а) Отрицательных чисел больше чем положительных') else if l else writeln('а) Отрицательных и положительных чисел одинаково'); writeln; writeln('б) Поставить минимальный элемент на первое место и максимальный элемента массива на последнее'); writeln; min := 1; max := 1; for u:=1 to 15 do begin if a[u] < a[min] then min := u; if a[u] > a[max] then max := u; end; c:=a[1]; a[1]:=a[min]; a[min]:=c; b:=a[15]; a[15]:=a[max]; a[max]:=b; for i:= 1 to 15 do write(a[i]:4); writeln; writeln; end. Здесь он сравнивает положительные и отрицательные числа, ставит минимальный элемент массива на первое место и максимальный элемент на последнее место. Нужно реализовать вывод всех номеров элементов, на которых встречается минимальное значение. (элемент - a[min], его номер в массиве - min). Я уже запутался что-то мальца, помогите, пожалуйста, дописать уже этот код.

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

Чтобы реализовать вывод всех номеров элементов, на которых встречается минимальное значение, можно использовать цикл for, сравнивая каждый элемент массива с минимальным значением. Если элемент равен минимальному значению, выводим его номер.
Добавьте следующий код перед последней строкой "end.":
```pascal writeln('в) Номера элементов, на которых встречается минимальное значение:'); for i := 1 to 15 do if a[i] = a[min] then writeln('Элемент ', a[i], ' имеет номер ', i); ```
После добавления этого кода, программа будет выводить все номера элементов, на которых встречается минимальное значение.
Полный код с добавленным выводом номеров элементов будет выглядеть следующим образом:
```pascal var a: array[1..15] of integer; i, k, l, z, b, c, qu: integer; min, max, u: byte; begin randomize; l := 0; k := 0;
for i := 1 to 15 do a[i] := random(20, 40);
writeln; for i := 1 to 15 do write(a[i]:4);
writeln; writeln;
for i := 1 to 15 do if a[i] < 0 then l := l + 1 else if a[i] > 0 then k := k + 1;
if l > k then writeln('а) Отрицательных чисел больше чем положительных') else if l = k then writeln('а) Отрицательных и положительных чисел одинаково') else writeln('а) Положительных чисел больше чем отрицательных');
writeln;
writeln('б) Поставить минимальный элемент на первое место и максимальный элемент массива на последнее'); writeln; min := 1; max := 1;
for u := 1 to 15 do begin if a[u] < a[min] then min := u; if a[u] > a[max] then max := u; end;
c := a[1]; a[1] := a[min]; a[min] := c;
b := a[15]; a[15] := a[max]; a[max] := b;
for i := 1 to 15 do write(a[i]:4);
writeln; writeln;
writeln('в) Номера элементов, на которых встречается минимальное значение:'); for i := 1 to 15 do if a[i] = a[min] then writeln('Элемент ', a[i], ' имеет номер ', i);
end. ```
После компиляции и запуска программы, она будет выводить все номера элементов, на которых встречается минимальное значение.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili