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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2009, 17:58   #1
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию Удаление слов из текста

Вводится произвольный текст до точки, слова разделяются пробелом. Удалить из него все слова, которые начинаются с гласных. Не использовать тип данных string, решить необходимо через char. Вводимый текст это массив, а гласные можно объединить во множество. Помогите решить
Gery вне форума Ответить с цитированием
Старый 01.09.2009, 18:25   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вариант с доп. массивом.
Проходите по тексту посимвольно и копируете символы в доп. массив. Если символ - гласная, то читаем до первого разделителя без копирования.

Если без доп. массива, то нужно завести пару указателей. Первый указывает на текущий символ, который читаем (ch1), второй - на символ, который перезаписываем (ch2). Идем по тексту и копируем *ch2++=*ch1. Если первый символ после разделителя - гласная, то, опять же, пропускаем без копирования.

Пробуйте. Что будет не получаться - спрашивайте.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 02.09.2009, 08:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Gery
Во-первых на каком языке?
Во-вторых: Если занулять такие слова пробелами, это будет считаться правильным в рамках задания?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2009, 22:07   #4
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Паскаль...

В чем ошибка?


Код:
var text,m:array [1..50] of char;
glasnie:set of char;
i,j,k:integer;
begin
glasnie:=['A','a','O','o','E','e','U','u','I','i'];
writeln ('введите текст');
begin
i:=0;
repeat
i:=i+1;
read (text[i]);
until text[i]='.';
i:=1;
j:=0;
while (text[i]<>'.') do
begin
if (not(text[i] in glasnie)) then while (text[i]<>' ') do
begin
j:=j+1;
m[j]:=text[i];
end;
i:=i+1;
else while (text[i]<>' ') do i:=i+1;
end;
end.

Последний раз редактировалось Stilet; 03.09.2009 в 09:25.
Gery вне форума Ответить с цитированием
Старый 02.09.2009, 22:37   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

После сообщения "введите текст" бегин лишний..
В общем, вот:

Код:
var text,m:array [1..50] of char;
glasnie:set of char;
i,j,k:integer;

begin
glasnie:=['A','a','O','o','E','e','U','u','I' ,'i'];
writeln ('введите текст');

i:=0;
repeat
 i:=i+1;
 read (text[i]);
until text[i]='.';

i := 1;
j := 0;

while text[i]<>'.' do
 begin
 while (text[i]=' ') and (text[i]<>'.') do
  begin
  inc(j);
  m[j] := text[i];
  inc(i);
  end;
 if text[i] in glasnie then
  while (text[i]<>' ') and (text[i]<>'.') do
   inc(i)
  else
   while (text[i]<>' ') and (text[i]<>'.') and (j<50) do
    begin
    inc(j);
    m[j] := text[i];
    inc(i);
    end;
 end;

 writeln;
for i:=1 to j do
 write(m[i]);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 02.09.2009, 22:44   #6
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

Что значит inc? Без него никак?
Gery вне форума Ответить с цитированием
Старый 02.09.2009, 22:51   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Gery
Что значит inc? Без него никак?
Инкремент. Увеличивает аргумент на единицу. Можете заменить на
Код:
i := i + 1;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.09.2009, 10:47   #8
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
Печаль

пишет "Error while linking"

Еще надо решить эту же задачу:
а) так же через char, только с процедурой удаления и процедурой нахождения слов, начинающейся с гласной;
б) Просто через string

Надеюсь на вашу помощь...

Последний раз редактировалось Stilet; 07.09.2009 в 10:02.
Gery вне форума Ответить с цитированием
Старый 05.09.2009, 23:29   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Gery
пишет "Error while linking"
Проверьте, не запущена ли программа.

Цитата:
Сообщение от Gery
Еще надо решить эту же задачу:
Так что не получается?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.09.2009, 23:40   #10
Gery
Пользователь
 
Регистрация: 31.08.2009
Сообщений: 12
По умолчанию

эм... ну с процедурами вообще все плохо... я ненаю как делать.
Gery вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление фрагмента текста Шурик Общие вопросы Delphi 0 31.05.2009 16:11
удаление выделеного текста RichTextBox TaTT DoGG Общие вопросы .NET 1 27.02.2009 21:44
Задача на удаление символов из текста Horknee Паскаль, Turbo Pascal, PascalABC.NET 9 19.01.2009 11:27
удаление одинаковых слов (С/С++) jewel Помощь студентам 1 12.12.2008 15:14
удаление текста с конца Lonix Общие вопросы Delphi 7 12.07.2007 14:00