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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2010, 14:41   #1
Nika2010
 
Регистрация: 11.02.2010
Сообщений: 3
По умолчанию Работа с типом днных STRING

Помогите девушке далёкой от программирования с заданием.
Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа.
Спасибо.
Nika2010 вне форума Ответить с цитированием
Старый 11.02.2010, 15:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Откуда считывает? Какой язык?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2010, 20:56   #3
klsaymon
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 22
По умолчанию

во фриланс
Не забываем повышать рейтинг(для тех, кому помог)...
klsaymon вне форума Ответить с цитированием
Старый 11.02.2010, 22:24   #4
Nika2010
 
Регистрация: 11.02.2010
Сообщений: 3
По умолчанию

Язык программирования - Pascal. Про откуда считывает не сказано, я так понимаю, что или с файла или с введённого текста (скорее всего с файла).

Если несложно проверьте (делалось по похожему заданию с методички).
При нажатии F8 в turbo pascal 7.0 ошибок не выдаёт, но и желаемого результата тоже

Задание 1
Работа с типом данных STRING (строка).
Написать программу, которая считывает текст и выводит на экран только предложения, не содержащие числа.

Код:
program kr;
uses crt;
var
w,a:string; 
b,q,s,i,j,g:integer; 
begin
clrscr; 
writeln('Please, read text.');
readln(a); 
s:=length(a); 
b:=0;
q:=1;
for j:=1 to s do
if (copy(a,j,1)='.') or (copy(a,j,1)='!') or (copy(a,j,1)='?') then
begin
w:=copy(a,q,j-q+1); 
q:=j+1; 
g:=length(w); 
for i:=1 to g do
if (copy(w,i,1)<>'1') and (copy(w,i,1)<>'2') and
(copy(w,i,1)<>'3') and (copy(w,i,1)<>'4') and
(copy(w,i,1)<>'5') and (copy(w,i,1)<>'6') and
(copy(w,i,1)<>'7') and (copy(w,i,1)<>'8') and
(copy(w,i,1)<>'0') and (copy(w,i,1)<>'9') then b:=b else b:=b+1;
if b=0 then begin write(w); b:=0;end else b:=0; 
end;
end.

Последний раз редактировалось Stilet; 15.02.2010 в 13:13.
Nika2010 вне форума Ответить с цитированием
Старый 15.02.2010, 12:34   #5
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Гм... Я бы через множество делал - громоздкий слишком код получается
danekne вне форума Ответить с цитированием
Старый 15.02.2010, 12:46   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Считываешь каждый символ строки и проверяешь - не входит ли он в множество цифр.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 15.02.2010, 13:10   #7
edmynt
Пользователь
 
Аватар для edmynt
 
Регистрация: 03.06.2009
Сообщений: 83
По умолчанию

Код:
program Untitled;
uses crt;
var
   f:text;
   s:string;
   i:integer;
begin
   assign(f,'file.txt');
   reset(f);
   while not eof(f) do
         begin
            readln(f,s);
            for i:=1 to length(s) do
                begin
                     if (s[i]>='0') and(s[i]<='9') then
                     begin
                      break;
                     end
                     else
                     begin
                       if i=length(s) then
                          begin
                          writeln(s);
                          end;
                     end;
                end;
         end;
   close(f);
   readkey;
end.
edmynt вне форума Ответить с цитированием
Старый 15.02.2010, 13:25   #8
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Программа проверяет есть ли в файле цифры. А не в предложении
danekne вне форума Ответить с цитированием
Старый 15.02.2010, 13:29   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от danekne Посмотреть сообщение
Программа проверяет есть ли в файле цифры. А не в предложении
Этого кода достаточно, чтобы решить вопрос ТС.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 15.02.2010, 16:12   #10
Nika2010
 
Регистрация: 11.02.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от edmynt Посмотреть сообщение
Код:
program Untitled;
uses crt;
var
   f:text;
   s:string;
   i:integer;
begin
   assign(f,'file.txt');
   reset(f);
   while not eof(f) do
         begin
            readln(f,s);
            for i:=1 to length(s) do
                begin
                     if (s[i]>='0') and(s[i]<='9') then
                     begin
                      break;
                     end
                     else
                     begin
                       if i=length(s) then
                          begin
                          writeln(s);
                          end;
                     end;
                end;
         end;
   close(f);
   readkey;
end.
Спасибо, это при считывании с файла, если кому не трудно объясните пожалуйста разницу (как будет выглядеть код для определения при вводе текста вручную). Изъяснилась как смогла
Nika2010 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со string (C++) Tiga Общие вопросы C/C++ 5 16.12.2009 02:12
Работа с типом данных запись в Pascal JayDe23 Помощь студентам 3 18.06.2009 18:08
работа с текстом string LeoN Общие вопросы Delphi 13 24.09.2008 10:54
Работа с типом Record TheNovice Помощь студентам 4 28.02.2007 17:52