Напечатать слова, образованные нечетными элементами каждого столбца матрицы - Pascal ABC
Формулировка задачи:
Дан двумерный массив, элементами которого являются отдельные символы.Напечатать слова, образованные нечетными элементами каждого столбца массива. Помогите пожалуйста, нужна написать на Паскале ABC.
Как переделать эту программу под мой случай
задание для этой программы:написать слова, образованные четными элементами каждой строки массива
const n=5;
var a:array[1..n] of string;//массив строк
s:array[1..n,1..20]of string;//двумерный массив слов
i,j,k,p:integer;
begin
for i:=1 to n do
begin
write('Str ',i,':');//вводим строки
readln(a[i]);
end;
i:=1;p:=0;
repeat
k:=1;
for j:=1 to length(a[i]) do
begin
if a[i][j]=' ' then k:=k+1 //разбираем очередную строку на слова и считаем их
else s[i,k]:=s[i,k]+a[i][j];
end;
for p:=1 to k do
if p mod 2=0 then write(s[i,p],' ');//четные слова в каждой строке выводим на экран
i:=i+1;
until i>n;
readln
end.
Решение задачи: «Напечатать слова, образованные нечетными элементами каждого столбца матрицы»
textual
Листинг программы
const m=5; n=5; var a: array [1..m,1..n] of Char; ... for j:=1 to n do begin i:=1; while i<=m do begin Write(a[i,j]); Inc(i,2); end; WriteLn; end;
Объяснение кода листинга программы
В данном коде объявлена переменная a
, которая представляет собой массив из 5 строк (от 1 до 5) и 5 столбцов (от 1 до 5). Далее идет цикл for
, который выполняется от 1 до 5 (это значение переменной n
). Внутри цикла происходит еще один цикл while
, который выполняется до тех пор, пока значение переменной i
меньше или равно 5. Внутри этого внутреннего цикла выводится каждый элемент массива a[i,j]
. После окончания внутреннего цикла значение переменной i
увеличивается на 2 (т.е. становится равным 3). Затем выводится символ новой строки (WriteLn
). В конце внешнего цикла выводится символ новой строки (WriteLn
).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д