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

Как вставить новую строку после всех строк , в которых нет ни одного четного элемента? ( Pascal ABC ). Сам код:
var i,j,k,n,h,p,g,m: integer;
a,x: array [1..10,1..10] of integer;
begin
writeln('Введите цифру, которой хотите заполнить строку ');
readln(n);
writeln('Введите размерность двумерного массива ');
readln(m);
k:=0;
h:=0;
g:=0;
for i:=1 to m do
for j:=1 to m do
read(a[i,j]);
for i:=1 to m do
begin
for j:=1 to m do
begin
if a[i,j] mod 2 = 0 then h:=h+1;
end;
if h <> 0 then k:= k + 1;
h:=0;
end;
p:=0;
h:=1;
for i:=1 to m do
begin
for j:=1 to m do
begin
if a[i,j] mod 2 = 0 then
begin
x[h,j]:=a[i,j];
p:=p+1;
end
else
begin
x[h,j]:=a[i,j];
end;
end;
if p<>0 then
begin
h:=h+1;
for g:=1 to m do
x[h,g]:=n;
h:=h+1;
p:=0;
end
else h:=h+1;
end;
for i:=1 to (m+k) do
begin
for j:=1 to m do
writeln(x[i,j]);
end;
end.

Показать ответ
Ответ:
visor0304
visor0304
12.11.2022 17:27
Паскаль "не умеет" читать числа напрямую. В случае "текстового ввода" он читает всё вводимое, как последовательность символов, которую затем анализирует и преобразует в соответствии со списком переменных в операторе ввода и их типом.
Завершается текстовый ввод в Паскале всегда нажатием клавиши Enter, посылающей последовательность символов с десятичными кодами 13 и 10 (CR - "возврат каретки" и LF- "перевод строки"), либо считыванием этих кодов из файла.
"Команда" Realln (на самом деле это не команда, а процедура) считывает и удаляет последовательность символов с кодами 13, 10, а Read - оставляет эти коды не считанными. Если после Read будет еще один оператор ввода, читающий СИМВОЛЬНЫЕ данные (string, char), то оставшиеся необработанными после предыдущего Read символы с кодами 13,10 будут восприняты, как вводимые, что неверно.

Как итог: только в случае, когда есть ввод символьных данных и эти данные вводятся не в единственном операторе ввода, перед вводом таких данных нужно указывать Readln. В прочих случаях разницы нет.
0,0(0 оценок)
Ответ:
Ferencvik
Ferencvik
15.03.2021 10:16
1) Дискретность - алгоритм должен состоять из отдельных пунктов.
2) Понятность - каждая команда должна быть понятна исполнителю.
3) Результативность - алгоритм должен приводить к заранее продуманному результату.
4) Массовость - он должен решать не одну задачу, а круг таких задач.
5) Определенность - не должно быть команд, которые исполнитель воспримит неоднозначно.

Н-р:
1) 1. Повернуть направо.
    2. Пройти 2 шага.
    3. Повернуть налево.
2) Не должно быть таких команд:
    1. Пройти 2 шага
    2. Зачикиниться
3) К примеру, рецепт бутерброда приведет тебя к готовому бутеру (если, конечно, ты поборишь свою лень и встанешь, чтобы приготовить его)
4) Н-р, формула расчета притяжения между телами должна быть ориентирована на различные тела, а не на, к примеру, только Землю и Луну.
5) Не должно быть, н-р, таких команд:
  1. Повернуть направо
  2. Пройти 2 шага
  3. Украсть.
  4. Пройти 2 шага назад.
  5. Дойти до Машки с пятого подъезда.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота