• Имеется код:

    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).
    Я уже запутался что-то мальца, помогите, пожалуйста, дописать уже этот код.

Ответы 5

  • Всё хорошо работает, спасибо! Только вопрос есть небольшой: почему в таких случаях лучше использовать const, когда array задаётся точно от 1 до 15?
    • Автор:

      andre88
    • 5 лет назад
    • 0
  • Чтобы в случае необходимости можно было легко изменить количество элементов. Профессионалы делают, как правило, именно так. )
  • Хорошо, понял. Многому ещё придётся научиться) Благодарю за помощь
  • На здоровье. Успехов!
  • const n=15;var a: array[1..n] of integer;i,k,l,c:integer;min,max:byte;beginrandomize;for i:= 1 to n do begin a[i]:=random(-20,20); write(a[i]:4); end;writeln;l:=0; k:=0;for i:= 1 to n 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 k>l then writeln('а) Положительных чисел больше чем отрицательных')  else writeln('а) Отрицательных и положительных чисел одинаково');writeln;writeln('б) Поставить минимальный элемент на первое место и максимальный элемента массива на последнее');writeln;min := 1; max := 1;for i:=2 to n do begin if a[i] < a[min] then min := i; if a[i] > a[max] then max := i;end;c:=a[1]; a[1]:=a[min]; a[min]:=c;c:=a[n]; a[n]:=a[max]; a[max]:=c;for i:= 1 to n do write(a[i]:4);writeln;writeln; writeln('в) Номера элементов с минимальным значением:');for i:= 1 to n do  if a[i]=a[1] then write(i,' '); // Минимальный элемент поставлен на первое место!writeln; end.Пример (для элементов из диапазона [-10; 10]):   6  -6   6  -9  -9  -3  -7   9  -3   9   6  -8   7  -3   6а) Отрицательных чисел больше чем положительныхб) Поставить минимальный элемент на первое место и максимальный элемента массива на последнее  -9  -6   6   6  -9  -3  -7   6  -3   9   6  -8   7  -3   9в) Номера элементов с минимальным значением:1 5 
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years