profile
Размещено 5 лет назад по предмету Информатика от fktrcfylh125465

Подскажите, что нужно изменить, чтобы программа правильно работала(паскаль)
Заполнить массив случайными числами в интервале [-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.

  1. Ответ на вопрос
    Ответ на вопрос дан archery
    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.
  2. Ответ на вопрос
    Ответ на вопрос дан allangarsk
    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.
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.