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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.08.2010, 12:54   #1
Janetka
Новичок
Джуниор
 
Регистрация: 28.08.2010
Сообщений: 27
По умолчанию Задача на файлы

В текстовом файле задан набор слов. Построить из них любую цепочку таким образом, чтобы символ в конце слова совпадал с символом в начале следующего. Решить на Паскале.
Janetka вне форума
Старый 28.08.2010, 12:54   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Решить на Паскале.
Просьба о помощи уже звучит как приказ???
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума
Старый 28.08.2010, 12:58   #3
Janetka
Новичок
Джуниор
 
Регистрация: 28.08.2010
Сообщений: 27
По умолчанию

Приказ и просьба не одно и тоже. Просто если кто-нибудь знает как решить эту задачу, то буду очень признательна, если вы мне поможите))

И тишина....Значит тут мне не помогут ((((

Последний раз редактировалось Stilet; 30.08.2010 в 08:28.
Janetka вне форума
Старый 28.08.2010, 13:18   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Могу алгоритм подсказать... Каким образом задан набор слов?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума
Старый 28.08.2010, 13:56   #5
Janetka
Новичок
Джуниор
 
Регистрация: 28.08.2010
Сообщений: 27
По умолчанию

Подскажите)))
Что вы имеете в виду под "каким образом"? Об этом в условии задачи ничего не было написано. Главное, чтобы результат был правильным, а как решать это уже дело каждого))
Janetka вне форума
Старый 28.08.2010, 14:07   #6
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Ну тогда:
1) подсчитываете кол-во слов;
2) заносите слова в массив;
3) берем первое слово из массива
4) удаляем его из массива
5) присваиваем строковой переменной это слово + пробел
6) получаем последнюю букву (до пробела) из строковой переменной
7) далее циклом:
7.1) проходим по массиву до первого вхождения
7.2) если первая буква из элемента массива равна букве из пункта 6 то
7.3) присваиваем нашей строковой переменной найденное слово + пробел
7.4) удаляем из массива найденное слово
8) повторяем пункты 6-7.4

Как-то так...
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума
Старый 28.08.2010, 14:22   #7
Janetka
Новичок
Джуниор
 
Регистрация: 28.08.2010
Сообщений: 27
По умолчанию

Спасибо, что согласились помочь))
Сейчас попробую написать программу согласно вашему алгоритму.

Подскажите, как правильно записать цикл (с пункта №7). Вот пока что у меня получилось.
Код:
var 	f1,f2:text;                                                               
           i,n,dl:integer;                                                           
    	s,slovo,bukva:string;                                                     
    	a:array [1..100] of string;                                               
begin                                                                         
{формируем первый файл}                                                       
assign(f1,'file1.txt');{устанавливаем связь файловой переменой с физическим файлом на диске}
rewrite(f1); {открываем файл для записи}                                      
readln(n);     {определим количество вводимых строк}                          
for i:=1 to n do begin                                                        
readln(s); {вводим с клавиатуры строки}                                       
writeln(f1,s); {записываем последовательно строки в файл}                     
{заносим слова в массив}                     
a[i]:=s;                                                                      
end;                                                                          
close(f1); {заканчиваем работу с первым файлом}                               
{берем первое слово из массива}                                               
slovo:=a[1]+' ';                                                              
{удаляем первое слово из массива}                                            
a[1]:=' ';                                                                    
{получаем последнюю букву из строковой переменной до пробела}                 
dl:=length(slovo);                                                            
bukva:=copy(slovo, dl-1, 1);                                                  


                                         
end.

Последний раз редактировалось Stilet; 30.08.2010 в 08:33.
Janetka вне форума
Старый 28.08.2010, 15:48   #8
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Просьба о помощи уже звучит как приказ???
копируешь задание в тему, и его вам решают, так?
Vikenty вне форума
Старый 28.08.2010, 15:53   #9
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Начиная с этого момента нужен был цикл:
Код:
for i:=0 to n do
begin //проходим по массиву
{получаем последнюю букву из строковой переменной до пробела}
dl:=length(slovo);
bukva:=copy(slovo, dl-1, 1); 
for y:=0 to n do
begin
if bukva = a[y][1] then
begin
  slovo:=slovo+a[y]+' ';
  a[y]:='';
end;
end;
end;
Как-то так, не проверял... Суть в том, что мы проходим по всему массиву. Ищем в подцикле совпадения букв и добавляем в строковую переменную.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума
Старый 28.08.2010, 15:59   #10
Janetka
Новичок
Джуниор
 
Регистрация: 28.08.2010
Сообщений: 27
По умолчанию

Я считаю, что задачи по программированию под силу только тем людям, которые имеют к этому ярко выраженные способности. К сожалению, у меня этих способностей нет, но это не освобождает меня от сдачи зачета по программированию. Для кого-то решение этой задачки займет полчаса, для меня же - дни и недели. Вот я и зашла сюда, рассчитывая на помощь, а не на насмешки и подколы....

Моё последнее сообщение было адресовано Vikenty...
А вам, DIgorevich, спасибо за помощь)) Сейчас попробую ваш вариант...

Цикл в программу записала, вот только вывод нужен. Скажите, а выводить я что должна???

Последний раз редактировалось Stilet; 30.08.2010 в 08:34.
Janetka вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на файлы Arturko Помощь студентам 7 11.02.2009 22:54
Паскаль.Файлы. задача. pif Помощь студентам 1 07.02.2009 23:00
Задача на файлы Плюшечка Паскаль, Turbo Pascal, PascalABC.NET 3 28.11.2007 18:37