Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 16.05.2011, 21:10   #1 (permalink)
123new
Новичок
 
Регистрация: 16.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Напечатать в алфавитном порядке все глухие согласные буквы

Задание на паскале: "дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в 1 слово"
Получилось что выводит все буквы которые есть хотя бы в 1 слове.
где исправить и на что?
Текст программы:
Код:
Program proga;
uses crt;
type let='а'..'я';
var sogl:set of let;
    text: set of char;
    c:char;
    s:string;
    i:byte;
begin
Clrscr;
  writeln('введите текст, заканчивающийся точкой');
  readln(s);
  if s[length(s)]<>'.' then s:=s+'.';
  text:=[];
  sogl :=['к','п','с','т','ф','х','ц','ч','ш','щ'];
  writeln('Согласные буквы в предложении или слове: ');
  repeat
  if s[i] in sogl then text:=text+[s[i]];
  i:=i+1;
  until s[i]='.';
  for c:='a'  to 'я' do if c  in text then write(c);
readln;
end.
123new вне форума   Ответить с цитированием

Старый 16.05.2011, 21:10
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

По этим ссылкам содержаться темы, которые по содержанию схожи с вашей

На клавиатуре перепутались буквы
Не печатаются некоторые буквы на qwerty-клавиатуре
Вычислить и напечатать таблицы значений функции y= f(x)

Старый 16.05.2011, 21:56   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 123new Посмотреть сообщение
Задание на паскале: "дан текст на русском языке. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в 1 слово" Получилось что выводит все буквы которые есть хотя бы в 1 слове. где исправить и на что?
То есть по простому - вывести глухие согласные, которых в тексте (строке) нет? Если так, то тут лучше без всяких множеств:
1. Задаем Ваш sogl в виде константы-литерного массива.
2. Организуем двойной цикл с, например, булевым флажком: внешний - по sogl[j], внутренний (типа repeat-until) по s[i]. При совпадении (sogl[j]=s[i]) перебрасываем флажок (напр. из true в false). Внутренний цикл ведем до переброса флажка или (or) до length(s).
3. Если флажок остался в true, выводим sogl[j].
4. Можно еще счетчик найденных глухих согласных организовать, и если он остался нулем, то вывести что-нибудь типа 'Таких букв нет!'.
Как-то так. Справитесь?
Vladimir_S вне форума   Ответить с цитированием
Старый 16.05.2011, 22:36   #3 (permalink)
123new
Новичок
 
Регистрация: 16.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Справитесь?
наврядли. Паскаль оч. плохо знаю. Если не сложно - напишите этот кусочек программы пожалуста
123new вне форума   Ответить с цитированием
Старый 16.05.2011, 23:00   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 123new Посмотреть сообщение
наврядли. Паскаль оч. плохо знаю. Если не сложно - напишите этот кусочек программы пожалуста
Да не особо. Терпеть, правда, не могу возиться с кириллицей (у меня DOS-Паскаль, отсюда проблемы с перекодировками), ну да ладно:
Код:
Program proga;
uses crt;
const
 sogl:array[1..10] of Char=('к','п','с','т','ф','х','ц','ч','ш','щ');


var
 s:string;
 i,j,n:byte;
 b:boolean;

begin
 Clrscr;
 writeln('Введите текст:');
 readln(s);
 n:=0;
 for i:=1 to 10 do
  begin
   b:=true;
   j:=0;
   repeat
    inc(j);
    if s[j]=sogl[i] then b:=false;
   until (b=false) or (j=length(s));
   if b then
    begin
     inc(n);
     write(' '+sogl[i]);
    end;
  end;
 writeln;
 if n=0 then writeln('Таких букв нет!');
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.05.2011, 18:38   #5 (permalink)
123new
Новичок
 
Регистрация: 16.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо, попогло. Респект. Если не сложно - вот ещё 3 задания надо:
Задание 1
Дан двумерный массив. найти и напечатать число, которое встречается в каждом столбце. если такого нет - напечатать сообщение
Задачи 2-3
1-й скрин - условие, 2-й скрин - задание 2, 3-й скрин задание 3
скрин 1 zd1.png
скрин 2 zd2.png
скрин 3 zd3.png

Замечание:
Не сочтите за труд - наведайтесь, пожалуйста, сюда:
Как вставить картинки в свой пост
И впредь руководствуйтесь тем, что там написано.
Использование сторонних хостингов у нас не приветствуется.
Модератор.

123new вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 17.05.2011, 23:27   #6 (permalink)
123new
Новичок
 
Регистрация: 16.05.2011
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

нужно только 2-е задание теперь
123new вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:15.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.