IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Подсчет слов, начинающихся с глас/согл для КАЖДОЙ строки матрицы
ashtray
сообщение 12.12.2005 21:35
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Составил прогу, выводящую на экран матрицу, состоящую из 5буковных слов, которая затем переворачивает слова, и удаляет гласные из слов на диагоналях. Ещё для каждой строки надо подсчитать кол-во слов, начинающихся с гласной и согласной буквы. Может у меня ступор, но я могу подсчитать кол-во слов только для всей матрицы в целом. Как разделить проверку слов для разных строк? И ещё посоветуйте, как вывести эти результаты подсчета, чтобы подходило под это условие задачи(подсчет слов нач с глас. и согл.). Текст программы:
Код

program word_matrix;
uses crt;

var p,n,i,j:integer;
    st,st1,st2,st3:string[5];
    lt:char;
    a:array [1..100,1..100] of string[5];
    d,g:byte;
const
    vow: set of char = ['a','e','i','o','u','y',' ','Ґ','Ё','®','г','л','н','о','п'];


begin
clrscr;
window(15, 3, 75, 25);
d:=wherex;
g:=wherey;
write('Enter n:');
readln(n);
   for i:=1 to n do
   for j:=1 to n do
    begin
     repeat
     write('a[',i,',',j,']=');
     readln(a[i,j]);
     st:=a[i,j];
     if length(st)<>5 then writeln ('Wrong input')
     until length(st)=5;
     end;

  clrscr;
  gotoxy (d+5,g);
  writeln ('Your matrix:');
  for i:=1 to n do
    begin
     for j:=1 to n do
     write (A[i,j]:5, '  ');
     writeln;
    end;

  for i:=1 to n do
  for j:=1 to n do
    begin
    st1:=a[i,j];
    st2:=a[i,j];
     st2[1]:=st1[5];
     st2[2]:=st1[4];
     st2[4]:=st1[2];
     st2[5]:=st1[1];
      a[i,j]:=st2;
    end;
   for i:=1 to n do
    begin
     st3:=a[i,i];
     for p:=1 to 5 do
      if st3[p] in vow then st3[p]:='_';
     a[i,i]:=st3;
    end;
   gotoxy (d+5,g+n+2);
  writeln ('Final matrix:');
   for i:=1 to n do
  begin
  for j:=1 to n do write (A[i,j]:5, '  ');
  writeln;
  end;

  readln;
end.



PS Не обращайте внимания на некоторые лишние переменные и элмементы. Остались после моих экспериментов. Заранее благодарен.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 13:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"