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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 00:28   #1
thevisl
Новичок
Джуниор
 
Регистрация: 30.06.2011
Сообщений: 1
По умолчанию тестовый файл

10. Дан текстовый файл. Сформировать строку, элементами которой являются встречающиеся в файле знаки арифметических операций и знаки препинания.



на паскале,выручайте сегодня экзамен
thevisl вне форума Ответить с цитированием
Старый 30.06.2011, 00:48   #2
Alkagolik
Пользователь
 
Аватар для Alkagolik
 
Регистрация: 03.08.2009
Сообщений: 77
По умолчанию

Таблица ASCII тебя спасет. каждому символу соответствует свой уникальный номер в таблице. Запускаешь цикл и столько условий в нем сколько арифметических операций и знаков препинания. Паскаля не знаю, а на Сях вот так

Код:
do{
   if(n ==43 /* '+' */) cout << n;
   ...................................
} while (n== EOF);
Формировать строку в файле или стандартом ... непонятно. разберетесь самостоятельно.
А Вы я вижу напрасно времени не теряете)) пусть поработают за Вас, вон сколько сразу топов... ну ну, успехов

Последний раз редактировалось Alkagolik; 30.06.2011 в 01:09.
Alkagolik вне форума Ответить с цитированием
Старый 30.06.2011, 08:46   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Alkagolik, да ну бросьте, таблица ASCII здесь и даром не нужна (и в C, кстати, тоже char никто не отменял!)


thevisl, как объявлять, читать из текстового файла, надеюсь знаете?!

вот основная часть.
Код:
  sResult := ''; {строка результата. в начале пуста}
  while Not EOF(fText) do begin
     Read(fText, ch); // ch типа char - один символ
     if ch in ['+','-','*','/','.','-',',','!','?'] 
         then sResult := sResult + ch;
     if EOL(fText) then Readln(fText);
  end;
  Writeln('Полученная строка: ', sResult);
p.s. если нужно, чтобы символы в строке не повторялись, тогда нужно или добавить проверку:
Код:
if (ch in ['+','-','*','/','.','-',',','!','?'] ) and (Pos(ch, sResult)=0)
или вместо строки накапливать найденные символы в переменной типа множество...
Но тогда вывод элементов множества надо будет делать через цикл..
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовый файл с целыми числами Crabobass Помощь студентам 2 29.04.2011 09:57
Тестовый редактор vo0odo Общие вопросы Delphi 3 06.02.2011 12:29
Тестовый файл. Найти сумму всех чисел, входящих в этот файл. (Паскаль) Homeros Помощь студентам 1 26.01.2011 14:05
Хуки (тестовый пример). В чем моя ошибка? Tihon Win Api 2 31.12.2008 11:59