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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2009, 22:14   #1
GHOST_DOG
Пользователь
 
Аватар для GHOST_DOG
 
Регистрация: 09.12.2008
Сообщений: 16
Восклицание Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово.

Задача на Паскаль. Дана непустая последовательность из строчных букв, между соседними словами запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые не входят более чем в одно слово.
Код:
program zadacha;
uses crt;
var m: set of char;
    i,j,k:integer;
    buf:char;
    s1:string;
begin
clrscr;
m:=['a','e','i','o','u','y'];

writeln('Vvedite tekst do tochki');
read(s1);
k:=0;
writeln;
writeln('Glasnie bukvi:');

for i:=1 to pos(',',s1)-1 do
for j:=pos(',',s1)-1 downto i+1 do
if s1[j]<s1[j-1] then
begin
buf:=s1[j];
s1[j]:=s1[j-1];
s1[j-1]:=buf;
end;

for k:=1 to pos('.',s1) do
if (s1[k] in m) then
write(s1[k]);
readkey;
end.
Вот написал, но выдает все гласные буквы, даже которые противоречат уловию, и не в алфавитном порядке. Помогите пожалуста.

Последний раз редактировалось GHOST_DOG; 29.03.2009 в 22:33.
GHOST_DOG вне форума Ответить с цитированием
Старый 29.03.2009, 22:36   #2
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию

Нужно сделать цикл поиска в алфавитном порядке от 'А' до'z'
Код:
for ...:='А' to 'z' do
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.

Последний раз редактировалось Veselyn; 29.03.2009 в 22:39.
Veselyn вне форума Ответить с цитированием
Старый 30.03.2009, 08:56   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Veselyn
Неправильно. В For нужно целочисленное значение использовать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.03.2009, 14:47   #4
GHOST_DOG
Пользователь
 
Аватар для GHOST_DOG
 
Регистрация: 09.12.2008
Сообщений: 16
По умолчанию

Скажите, как условие написать, чтоб если гласная буква в другом слове опять встретилась, то ее не надо выводить? Я додумкать ваще немогу че то(((
GHOST_DOG вне форума Ответить с цитированием
Старый 30.03.2009, 15:17   #5
Veselyn
Форумчанин
 
Аватар для Veselyn
 
Регистрация: 29.01.2009
Сообщений: 175
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Неправильно. В For нужно целочисленное значение использовать.
Можно, вот нашол пример такой программы.
Программа читает текст из файла до точки один раз, подсчитывая в массиве, хранящем 26 целых чисел, количество каждой из букв. Сам текст, при этом, не запоминается. Затем в этом массиве ищется первое вхождение максимального элемента.
Код:
var a:array['A'..'Z'] of integer;
    c, cmax: char;
begin
  assign(input,'text.dat');
  reset(input);
  for c:='A' to 'Z' do a[c]:=0;
  repeat
    read(c);
    c:= upcase(c);
    if c in ['A'..'Z'] then
      a[c]:=a[c]+1
  until c='.';
  cmax := 'A';
  for c:= 'B' to 'Z' do
    if a[c] > a[cmax] then
      cmax := c;
  writeln(cmax,' ',a[cmax])
end.
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет.

Последний раз редактировалось Veselyn; 30.03.2009 в 15:41. Причина: удалил лишнее, ничего значительного
Veselyn вне форума Ответить с цитированием
Старый 30.03.2009, 15:24   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Veselyn
Чет у меня на нем паскаль ругается...
Впрочем убедил.. Только я б не рекомендовал так.
Цитата:
Скажите, как условие написать, чтоб если гласная буква в другом слове опять встретилась
Я тут выкладывал похожие сортировки с фильтром методом индексов - поищи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напечатать слова в которые входят цифры profi Помощь студентам 3 02.12.2009 23:34
Распечатать все буквы входящие в текст не мене двух раз в алфавитном порядке. Паскаль. DIzza Помощь студентам 5 13.03.2009 09:08
Вывести в алфавитном порядке все латинские буквы Jereme Паскаль, Turbo Pascal, PascalABC.NET 6 26.12.2008 13:15
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53