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

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

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

 
 Ответить  Открыть новую тему 
> Подсчет слов, начинающихся с глас/согл для КАЖДОЙ строки матрицы
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
Как разделить проверку слов для разных строк?


for i := 1 to n do begin
glas := 0;
for j := 1 to n do
if a[i, j][1] in vow then glas := glas + 1;
writeln('строка №', i:2, ' - с гласной: ', glas:3, '; с согласной: ', n - glas);
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


volvo
Спасибо огромное!!! biggrin.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 23.12.2024 21:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name