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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2012, 13:46   #1
MONSTER152
 
Регистрация: 04.03.2012
Сообщений: 9
По умолчанию задачи на обработку строк (delphi)

помогите пожалуйста написать программы на языке delphi к следующим задачам
1)Задана строка.Определить,содержится ли в строке цифры и знаки препинания.
2)В предложении возможны повторы слов.Удалить эти повторы.
MONSTER152 вне форума Ответить с цитированием
Старый 17.03.2012, 13:53   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

1) Используй множества
как-то так
Код:
for i := 1 to length(s) do
    if s[i] in ['1'..'9'] then
для знаков препинания будет так
Код:
for i := 1 to length(s) do
    if s[i] in ['.', ',', '!', '?', итд и тп] then
2)Функции POS DELETE COPY
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 17.03.2012, 15:36   #3
MONSTER152
 
Регистрация: 04.03.2012
Сообщений: 9
По умолчанию

мне нужен весь код программы начиная с var и т.д.
MONSTER152 вне форума Ответить с цитированием
Старый 20.03.2012, 18:28   #4
MONSTER152
 
Регистрация: 04.03.2012
Сообщений: 9
По умолчанию

задача2. в чем ошибка задачи



Код:
program progect;
Var C: String;
    I,Pb,j,f,n,k:integer;
    x: array [1..1000]  of string;
    s: array [1..1000]  of string;
Begin
 Write('Введите текст: ');
 ReadLn(C);
 C:=C+' '; n:=Length(C);
 K:=0;
 
 
 While pos(' ',C) <> 0 Do
 begin
 Pb := pos(' ',C);
 if Pb=pos(' ',C) then
 begin
 k:=k+1;
 i:=k;
 x[i]:=Copy(C,1,Pb-1);
 end;
 Delete(C,1,Pb);
 end;
 
 
 for j:=1 to k do
 begin
 i:=j;
 s[j]:=x[i];
 end;
 
 for j:=1 to k do
 begin
 for i:=1 to k do
 if s[j]=x[i] then f:=f+1;
 if f<2 then write(s[j],' ');
 f:=0;
 end;
readln;
 end.

Последний раз редактировалось ACE Valery; 20.03.2012 в 20:02.
MONSTER152 вне форума Ответить с цитированием
Старый 20.03.2012, 18:33   #5
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

А ошибка то какого рода? Синтаксическая или по алгоритму?
Мы, извините, не телепаты.
Если ошибка по синтаксису, то укажите строчку с ошибкой.
И про оформление кода не забываем.
Базиля вне форума Ответить с цитированием
Старый 20.03.2012, 18:53   #6
MONSTER152
 
Регистрация: 04.03.2012
Сообщений: 9
По умолчанию

по алгоритму
MONSTER152 вне форума Ответить с цитированием
Старый 20.03.2012, 18:57   #7
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Ну а подробнее?
Какая именно?
Каков вопрос, таков и ответ.
Ну неужели так сложно взять и все расписать?
Базиля вне форума Ответить с цитированием
Старый 20.03.2012, 19:11   #8
MONSTER152
 
Регистрация: 04.03.2012
Сообщений: 9
По умолчанию

ошибка заключается в том что при вводе предложения все нормально он потом должен показать обработанное предложения а он за место него показывает непонятные символы
MONSTER152 вне форума Ответить с цитированием
Старый 20.03.2012, 19:48   #9
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Ну во первых, по коду, у тебя МНОГО лишних действий.
Во вторых, я конечно лучше бы это все по другому реализовал бы, но если все рассматривать в рамках только твоего приведенного выше алгоритма, то я предлагаю вот такой вариант:
Код:
for j:=1 to k-1 do
 begin
 for i:=j+1 to k do
 if s[j]=s[i] then
 s[i]:='';
 end;
for i:=1 to k do
write(s[i],' ');
 readln;
 end.
Я уж надеюсь ты разберешься какой именно кусок твоего кода нужно сменить на этот.
Базиля вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на обработку строк mr.brain Паскаль, Turbo Pascal, PascalABC.NET 5 25.02.2012 22:12
задачи на обработку массива (Delphi) Евгений77777 Помощь студентам 2 15.02.2012 23:31
Задачи на обработку строк Katia_Vasilyeva Паскаль, Turbo Pascal, PascalABC.NET 16 29.11.2011 04:20
Задачи на обработку массивов (Delphi) Vladimir Ryabov Помощь студентам 11 30.10.2011 18:10
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55