Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2009, 19:13   #1
drag888
 
Регистрация: 20.01.2009
Сообщений: 3
Печаль задача с ПСП помогите плиз!

С помощью ПСП(псевдослучайная последовательность) сформировать двухмерный 20(высота)x10(ширина) массив из элементов.
В качестве элементов использовать слова из 2..7 символов A..Z(одномерный массив символов латинского алфавита).
Осуществить подсчет элементов, удовлетворяющих условиям:
1)Согласные буквы в слове расположены асимметрично (т.е. 1-я, но не последняя и т.д.).
2)Слово пренадлежит строке, в которой букв меньше, чем в соседних строках.
Проверку условий поиска реализовать с использованием типа множество.
Вывести на экран сформированый масив в виде таблицы, выделив цветом подсчитаные элементы.
Результат подсчета вывести на экран ниже таблицы.

конкретно интересуют условия 1) и 2) не могу разобраться как их задать
drag888 вне форума Ответить с цитированием
Старый 20.01.2009, 19:22   #2
drag888
 
Регистрация: 20.01.2009
Сообщений: 3
Сообщение

Код:
uses crt; {подключаем модуль, необходимый 
          для очистки экрана и изменения цвета слов}
const
  K=2; 
  L=7; 
  M=20;
  N=10;
  AA=Ord('A');           {код буквы А в таблице символов}
  ZZ=Ord('Z');            {код буквы Z в таблице символов}
 gl=['A','E','I','O','U','Y'];
 sgl=['B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Z'];
var
  mas:  array [1..M,1..N] of string[L];                {массив MxN из строк максимальной длины L}
  i,j,               {индексы элементов матрицы}
  t, g,            {номер символа в строке=элементе матрицы}
  len,           {длина текущей строки=элемента матрицы (K..L)}
  kol: byte;              {кол-во слов, удовлетвлоряющих условию }
  


begin
clrscr;                 {очищаем экран}
randomize;            {генератор ПСП инициализирует}
for i:=1 to M do                  {для каждой строки i}
for j:=1 to N do                 {для каждого столбца j}
	begin
	len:=random(L-K+1)+K;               {выбираем длину псевдослучайно от 2 до 7 }
	mas[i,j]:='';             {строка соответствующая сначала пустая}
	for t:=1 to len do          {затем добавляем по одному к ней символы в количестве len}
	mas[i,j]:=mas[i,j]+Char(random(ZZ-AA+1)+AA);         {псевдослучайные от A до Z}
	end;

  writeln('условия 1 и 2');
  TextColor(white); {цвет текста белый ставим}
  kol:=0; {пока не нашли ни одного подходящего слова}
  
  for i:=1 to M do {для каждой строки i повторяем:}
  begin
      
    for j:=1 to N do                     {перебираем все слова в строке матрицы}
 
   	
	            
	for j:=1 to N do                {рассматриваем по-очереди все элементы}
		for g:=1 to Trunc(Length(mas[i,j])/2) do
		begin
		if (mas[i,j])[g]<>gl and mas[i,j][(length(mas[i,j])-g+1]<>gl 
			then               {если асимметрично}
			begin
			TextColor(red);                  {меняем цвет на красный}
			write(mas[i,j]:8);                 {выводим красным}
			kol:=kol+1;                          
			TextColor(white)                {меняем цвет обратно на белый}
			end
			else
		write(mas[i,j]:8);                 
		end
	else
		write(mas[i,j]:8)         
	else                         
for j:=1 to N do 
write(mas[i,j]:8);

end;

writeln;{строчку пустую выводим}
writeln('Slov po dvum usloviam = ',kol);

write('Press ENTER...'); readln {Нажмите Энтер для завершени программы}
end.
примерный код что у меня получился, но тут пытался задать только одно условие с асимметричными словами
drag888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите,плиз! Задача на паскль! Решение линейных уравнений методом Гаусса! vdv08 Помощь студентам 4 21.10.2008 23:33
Задача на строки, плиз... Sid maksim Паскаль, Turbo Pascal, PascalABC.NET 5 14.05.2008 22:41
Задача на строки!! Помогите, плиз) Кasa Помощь студентам 4 03.03.2008 11:26