Вывести на экран номера тех столбцов матрицы, в которых хранятся только малые латинские буквы - Turbo Pascal
Формулировка задачи:
Здравствуйте, решал задачку: Дан двумерный массив N*M, заполненный символами. Вывести на экран номера тех столбцов, в которых хранятся только малые латинские буквы. Получился код, но до нормального состояния довести не получается. Запутался. Наставьте на истинный путь.
Листинг программы
- var a:array[1..20,1..20] of char; b: array[1..10] of integer;
- i,j,k,m,n:byte;
- begin
- randomize;
- readln(m,n);
- for i:=1 to m do
- begin
- for j:=1 to n do
- begin
- repeat
- k:=65+random(58);
- until k in [65..90,97..122];
- a[i,j]:=chr(k);
- write(a[i,j]:2);
- end;
- writeln;
- end;
- k:=0;
- for i:=1 to m do begin
- for j:=1 to n do begin
- if ord(a[i,j]) in [65..90]
- then begin
- b[i]:=j;
- end;
- end;
- end;
- for i:=1 to m do
- write(b[i]:2);
- end.
Решение задачи: «Вывести на экран номера тех столбцов матрицы, в которых хранятся только малые латинские буквы»
textual
Листинг программы
- i:=m; while (i>0) and (a[i,j] in ['a'..'z']) then Dec(i);
Объяснение кода листинга программы
- Переменная
i
инициализируется значениемm
, что предположительно означает количество строк в матрице. - Затем, пока
i
больше нуля и значение элементаa[i,j]
находится в диапазоне от 'a' до 'z', выполняется следующий код:Dec(i)
- функция, которая уменьшает значениеi
на единицу.
- Этот цикл будет выполняться, пока
i
не станет равным нулю или пока все элементы матрицы не будут проверены на наличие только малых латинских букв.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д