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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2014, 12:58   #1
Marisha89
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 16
По умолчанию Напечатать символи файлу UPT, которые повторяются.

Добрый день!
Помогите, пожалуйста, решить задачу:Напечатать символи файлу UPT, которые повторяются.(в Паскале)
Заранее спасибо!

Последний раз редактировалось Marisha89; 26.03.2014 в 13:01.
Marisha89 вне форума Ответить с цитированием
Старый 26.03.2014, 13:16   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Что самостоятельно сделано?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 26.03.2014, 13:20   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код считывания символов из файла UPT показать сможешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.03.2014, 14:01   #4
Marisha89
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 16
По умолчанию

Нет(
Я вообще не представляю, с чего начать.
Думала, что при прописывании:
Код:
assign(file1,'file1.txt');
rewrite(file1);
должен открыватся блокнот, а текст создается в самом Паскале.
И UPT это же название файла (типа я такого не нашла)?
Marisha89 вне форума Ответить с цитированием
Старый 26.03.2014, 14:28   #5
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Наверно Вы все же текстовый файл имеете в виду. Тогда
Код:
var F1:text;
...
assign(F1,'test.txt');
reset(F1);
while (not(eof(F1))) do
begin
readln(F1,str);
writeln(str);
end;
...
Ну и вот тут подробнее.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 26.03.2014, 15:00   #6
Marisha89
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 16
По умолчанию

Я так понимаю, чтобы создать файл с записью(1; -2; -7; 0; -9; 1) нужен такой код. Правильно?
Код:
Program fff;
USES Crt;
        var
        file1 : text;
            str : string;
BEGIN
assign(file1,'file1.txt');
rewrite(file1);
writeln(file1,'1-2-70-91');

reset(file1);
while (not (eof(file1)))
do begin
 readln(file1,str);
 writeln(str);
end;
close(file1);
END.
А можно ли создать код по которому я буду самостоятельно вводить даные, а не прописывать их сразу?
И как вывести в результате только повторяющиеся елементы?
Спасибо за помощь!
Marisha89 вне форума Ответить с цитированием
Старый 26.03.2014, 15:07   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я буду самостоятельно вводить даные, а не прописывать их сразу?
Код:
readln(str);
writeln(file1,str);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.03.2014, 15:30   #8
Marisha89
Пользователь
 
Регистрация: 26.03.2014
Сообщений: 16
По умолчанию

Спасибо)
Подскажите, пожалуйста, с выведением повторяющихся символов
Marisha89 вне форума Ответить с цитированием
Старый 26.03.2014, 18:57   #9
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Как вариант - array of my_char, где my_char - двумерный массив, включающий в себя char и int. По умолчанию массив пустой. Считан символ - ищем его в массиве - не нашли - добавляем его, часть int в 1. Нашли - увеличиваем i у найденного символа на 1. Соответственно потом пробег по всему массиву с выводом тех символов, которые попались больше 2 раз.

Или вы про подряд идущие? Тогда читаете строку, после чего перебираете её посимвольно от 1 до strlen()-1, и если i`й и i+1`й символы совпадают - добавляете этот символ в множество. После обработки файла просто выводите множество.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 26.03.2014, 20:40   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Все проще:
Код:
var c:array['a'..'z'] of integer;i:integer; cc:char;
...
readln(str);
for i:=1 to Length(str) do inc(c[str[i]]);
...
А потом:
Код:
for cc:='a' to 'z' do if c[cc]>1 then write(cc);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт суммы значений, которые повторяются JevgenijM Microsoft Office Excel 5 22.02.2013 08:14
поиск слов в строке, которые повторяются КРИЖ Общие вопросы C/C++ 2 14.12.2012 13:31
(С++) поиск слов в строке, которые повторяются КРИЖ Помощь студентам 0 13.12.2012 19:25
MYSQL запрос, выборать поля, которые повторяются Delphinchik PHP 1 13.02.2011 21:53
Заменить повторяющиеся символы(которые повторяются два или три раза) в тексте пробелами. Майки Паскаль, Turbo Pascal, PascalABC.NET 3 12.01.2009 17:45