• Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль)
    Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. Вычислите количество положительных элементов.
    Пример:
    Массив:
    20 -90 15 -34 10 0
    Результат:
    20 15 10 -90 -34 0
    Количество положительных элементов: 3

    Var i,c:integer;
    w:array[1..10] of integer;
    a:array[1..10] of integer;
    begin
    randomize;
    for i:=1 to 10 do
    a[i]:=random(201)-100;
    for i:=1 to 10 do
    if a[i]>0 then
    begin
    w[i]:=a[i];
    c:=c+1;
    end;
    writeln('Кол-во положительных элементов: ',c);
    for i:=1 to 10 do
    begin
    if a[i]<=0 then
    begin
    a[c]:=w[c];

    end;
    end;
    writeln('Получившийся массив:');
    writeln(' ');
    for i:=1 to 10 do
    write(w[i],' ');
    end.

Ответы 2

  • const    n = 10;var    i, c: integer;    a, w: array[1..n] of integer;begin    randomize;        writeln('Исходный массив:');    for i := 1 to n do     begin        a[i] := random(201) - 100;        write(a[i], ' ');    end;    writeln;        c := 0;    for i := 1 to n do        if a[i] > 0 then        begin            c := c + 1;            w[c] := a[i];        end;        writeln('Кол-во положительных элементов: ', c);    for i := 1 to n do    begin        if a[i] <= 0 then        begin            c := c + 1;            w[c] := a[i];        end;    end;        writeln('Результат:');    for i := 1 to c do        write(w[i], ' ');end.
    • Автор:

      desirae
    • 5 лет назад
    • 0
  • Var i,c,k,j:integer;a:array[1..10] of integer;beginrandomize;writeln('Получившийся массив:');for i:=1 to 10 do begina[i]:=random(201)-100; if a[i]>0 then k:= k +1;write(a[i],' ');end;for i:=1 to 10 do beginfor j:=2 to 10 do beginif a[j] > a[j-1] then beginc:=a[j]; a[j]:= a[j-1];a[j-1]:=c;end;end;end;writeln;writeln('Кол-во положительных элементов: ',k);writeln('Измененный массив:');for i:=1 to 10 dowrite(a[i],' ');end.
    • Автор:

      rolando
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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