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

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

Показать ответ
Ответ:
Leprekon11
Leprekon11
25.08.2020 14:52
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.
0,0(0 оценок)
Ответ:
ksenia376
ksenia376
25.08.2020 14:52
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота