
Вопрос задан 01.03.2021 в 15:33.
Предмет Информатика.
Спрашивает Заварыкина Дарья.
И снова я, и снова мой любимый Паскаль.. Дан массив, состоящий из целых чисел. Напишите
программу, которая подсчитывает количество положительных чисел среди элементов массива. Входные данные Сначала задано число N — количество элементов в массиве (1 Выходные данные Необходимо единственное число - количество положительных элементов в массиве. Написал: program u1; var i,n,k:longint; a:array[1..10000] of longint; begin readln(n); for i:=1 to n do readln (a[i]); for i:= 1 to n do write( 'a[i]=',a[i],' ');writeln; for i:= 1 to n do begin if a[i]>0 then k:=k+1;end; writeln(k); end. но тем не менее, решено не правильно. Пожалуйста, посмотрите.

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

Отвечает Розанова Анна.
Program qq;
var col, out, i: integer;
arr: array[1..100] of integer;
begin
write('Количество элементов: ');
readln(col);
write('Введите числа: ');
out := 0;
for i := 1 to col do readln(arr[i]);
writeln;
write('Положительных чисел: ');
for i := 1 to col do begin
if(arr[i] > 0) then out := out + 1;
end;
write(out);
end.
-----
В вашем же решении вы не указали переменную k, т.е. у вас нет k := 0; и после выполнения условия if не нужно писать end;
var col, out, i: integer;
arr: array[1..100] of integer;
begin
write('Количество элементов: ');
readln(col);
write('Введите числа: ');
out := 0;
for i := 1 to col do readln(arr[i]);
writeln;
write('Положительных чисел: ');
for i := 1 to col do begin
if(arr[i] > 0) then out := out + 1;
end;
write(out);
end.
-----
В вашем же решении вы не указали переменную k, т.е. у вас нет k := 0; и после выполнения условия if не нужно писать end;




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Программа, которую вы предоставили, содержит несколько ошибок. Вот исправленный вариант вашей программы на языке Паскаль:
pascalprogram u1; var i, n, k: longint; a: array[1..10000] of longint; begin readln(n); for i := 1 to n do readln(a[i]); k := 0; for i := 1 to n do begin if a[i] > 0 then k := k + 1; end; writeln(k); end.
Исправления включают:
- Замена
writeln
наreadln
для чтения значений элементов массива. - Инициализация переменной
k
в начале программы (k := 0
). - Удаление лишней строки вывода
writeln(k);
.
Теперь программа должна корректно считывать массив и подсчитывать количество положительных чисел среди его элементов.


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

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

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