2.12 Имеется матрица, состоящая из слов длиной в 5 символов. Получить новую матрицу, слова к которой записаны наоборот, а на обоих диагоналях удалены из слов все гласные буквы. Для каждой строки подсчитать количество слов, начинающихся с гласной и согласной букв. Обе Матрицы распечатать.
Ozzя
26.12.2007 14:18
Вот я начал программу, массив перевернутых слов получил. Дальше сам.
Hint: Как получить элементы главной и побочной диагоналей, см. FAQ.
Rem: на ужас с заполнением массива русских букв не обращать внимания Взял откуда-то.
const n=5; var a : array[1..33] of char; b : array [1..n,1..n] of string [n]; i,j,k : Integer; s : String[n];
begin
a[1]:='а'; a[2]:='б'; a[3]:='в'; a[4]:='г'; a[5]:='д'; a[6]:='е'; a[7]:='ж'; a[8]:='з'; a[9]:='и'; a[10]:='й'; a[11]:='к'; a[12]:='л'; a[13]:='м'; a[14]:='н'; a[15]:='о'; a[16]:='п'; a[17]:='р'; a[18]:='с'; a[19]:='т'; a[20]:='у'; a[21]:='ф'; a[22]:='х'; a[23]:='ц'; a[24]:='ч'; a[25]:='ш'; a[26]:='щ'; a[27]:='ь'; a[28]:='ы'; a[29]:='ъ'; a[30]:='э'; a[31]:='ю'; a[32]:='я'; a[33]:='ё'; { Заполнение массива случайными строками } for i:=1 to n do for j:=1 to n do begin s:=''; for k:=1 to n do s:=s+a[random(33)+1]; b[i,j]:=s; end; { Вывод исходного массива } WriteLn('Вывод исходного массива:'); for i:=1 to n do begin for j:=1 to n do Write(b[i,j]:7); WriteLn; end; { Переворачиваем строки в массиве } for i:=1 to n do for j:=1 to n do begin s:=''; for k:=n downto 1 do s:=s+b[i,j] [k]; b[i,j]:=s; end;
WriteLn('Вывод перевернутого массива:'); for i:=1 to n do begin for j:=1 to n do Write(b[i,j]:7); WriteLn; end;
ReadLn; end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.