var
a,b:string;
c:byte;
begin
readln(a);
repeat begin
c:=pos(',',a);
b:=copy(a,1,c-1);
delete(a,1,c);
if pos(b,a)<>0 then write(b,' ');end;
until c=0;
end.
Очень надеюсь на вашу помощь))заранее спасибо!!!!
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Проверить программу, очень нужна помощь(Pascal ABC) |
Татьяна12678 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
проверьте пожалуйста правильно ли сделана программа:вот условие Дана последовательность,содержащая от 1 до 30 слов,в каждом из которых от 1 до 5 строчных латинских букв,между соседними словами-запятая,за последними словами-точка.Напечатать все различные слова,встречающиеся в последовательности более двух раз.
var Очень надеюсь на вашу помощь))заранее спасибо!!!! |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
проверьте пожалуйста правильно ли сделана программа:вот условие Дана последовательность,содержащая от 1 до 30 слов,в каждом из которых от 1 до 5 строчных латинских букв,между соседними словами-запятая,за последними словами-точка.Напечатать все различные слова,встречающиеся в последовательности более двух раз. var Очень надеюсь на вашу помощь))заранее спасибо!!!! Не совсем. Надо выводить повторяющиеся слова только один раз, а у тебя они выводятся n-1 раз. Исправить можно как-то так: var И еще: "repeat .. until" работают как операторные скобки, то есть "begin .. end" к ним не нужны. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
IUnknown |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Если и есть что хорошего в Pascal ABC - то это возможность использовать всю мощь .NET-а... Вот с использованием классов .NET задача решается так:
uses System.Collections.Generic; P.S. Андрей, в задаче надо было Цитата Напечатать все различные слова,встречающиеся в последовательности более двух раз. , твой код делает "более одного раза". |
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Если и есть что хорошего в Pascal ABC - то это возможность использовать всю мощь .NET-а... Круто! Правда, скорее всего, автор темы, скорее всего, не имела в виду .net, но все равно круто.Цитата P.S. Андрей, в задаче надо было Спасибо - да, проглядел.. Исправлю свой код чуть позже., твой код делает "более одного раза". +1 -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
Сообщение
#5
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Исправлю свой код чуть позже. Вот: var -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Татьяна12678 |
Сообщение
#6
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
Спасибо огромное,вы меня просто спасли!!!!!))))
|
Татьяна12678 |
Сообщение
#7
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
А мне в курсовой надо написать вербальное описание этой программы,если вам не сложно можете помочь с описанием!!!!!
|
Lapp |
Сообщение
#8
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
А мне в курсовой надо написать вербальное описание этой программы,если вам не сложно можете помочь с описанием!!!!! Таня!!!!! Мы все можем!!!!! Мы только не хотим спойлить твое образование!!!!! Можешь написать свой начальный вариант!!!!! А мы подправим!!!!!а иначе ты ничему не научишься.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Татьяна12678 |
Сообщение
#9
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
Окей я попробую и выложу тогда!!!!!!спасибо!!!!!!
|
Lapp |
Сообщение
#10
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Окей я попробую и выложу тогда!!!!!!спасибо!!!!!! Хорошо давай!!!!!!пока не за что!!!!! Ты только не затягивай, потому что может потребоваться не одна итерация. Успехов тебе ) -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Татьяна12678 |
Сообщение
#11
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
я пока не написала вербальное описание,но мне сказали что в программе нужен автоматический вывод на экран,когда жмешь на выполнение программы,чтобы не вводить вручную,у меня все никак не получается,вроде вывод на экран writeln,но автоматически не выводится(((
|
Татьяна12678 |
Сообщение
#12
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
а вот пока начало вербального описания:
Данная программа выводит с экрана все различные слова,встречающиеся в последовательности более двух раз. Для этого в программе мы вводим переменные типа строковые,которые применяются при использовании текстовых данных в программе,состоит из набора последовательно расположенных символов char) и байтовые.....а дальше пока думаю как писать(((((((( Сообщение отредактировано: Татьяна12678 - |
Krjuger |
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Чтобы не вводить каждый раз самой можно, либо сделать в самом коде программы строку константой, либо сделать так,чтобы читалось из файла.Насчет вербального описания,дальше можно прям построчно идти и писать,что делалось в каждой строке.(До тех пор ,пока не дойдет до конча строки мы читаем слово,заведомо зная ,что между словами стоит разделитель ",",записываем слово в результирующую строку и тд)
Сообщение отредактировано: Krjuger - |
Татьяна12678 |
Сообщение
#14
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Татьяна Репутация: 0 |
а как здесь сделать строку константой?подскажите пожалуйста!!!!у меня что-то не выходит!!!!
|
Krjuger |
Сообщение
#15
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
const Name: String[9]= 'IBM PC/AT'; Вот тебе строковая константа из 9 символов,если хочеш можеш после слова string убрать скобочки с цифрой и тогда у тебя под строку выделится 255 символов. |
IUnknown |
Сообщение
#16
|
Гуру Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Цитата если хочеш можеш после слова string убрать скобочки с цифрой и тогда у тебя под строку выделится 255 символов. Ага, щаззз. В PascalABC другие правила, это тебе не Турбо-Паскаль...Кроме того, если описать строку так: const a : string = 'тут сама строка';, то ABC начнет возмущаться ниже по коду, при попытке удалить часть константной строки. Так что описывай, как описывала, просто инициализируй строку в начале программы: var Кстати, PascalABC имеет одну не очень хорошую черту, по крайней мере PascalABC.NET 1.7 сборка 452 (ну, вообще-то не одну, но эта - вообще какой-то кошмар) : var a, b : string;Напечатает не 0, а 1, поэтому программа, приведенная Lapp-ом в 5-ом посте может зависнуть, если будет запускаться на .NET-овской версии Pascal ABC. Как вариант исправления: if (c > 0) and (pos(b,a)<>0) then begin |
Krjuger |
Сообщение
#17
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Тьфу ты из головы вылетело,что ABC ,sorry
|
Lapp |
Сообщение
#18
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
а вот пока начало вербального описания: , которые содержат инофрмацию обиспользуемом символе, который представляет собой начертательное изображение лингвистической единицы, состоящее из палочек, кружочков и крючочков, объединенных в единое целое (целый тип представляет недробные числа со знаком в диапазоне от -32768 до 32767, а дробные - это те, которые с точкой или с дробной чертой, блин, ну чо пристали, я вам инцэглупедия штоле???) Данная программа выводит с экрана все различные слова,встречающиеся в последовательности более двух раз. Для этого в программе мы вводим переменные типа строковые,которые применяются при использовании текстовых данных в программе,состоит из набора последовательно расположенных символов char... Не нужно так подробно. Я буду описывать свой вариант (пост #5) Данная программа выводит с экрана все различные слова,встречающиеся в последовательности более двух раз. Для входных данных используется переменная a типа string (выражайся точнее, в Паскале НЕТ типа "строковой"). Для найденных слов используется переменная b, также типа string. Для нахождения очередного слова определяем положение разделителя "," (запятая). В переменную b копируем кусок строки a до разделителя, после чего удаляем этот кусок из a. Далее проверяем наличие слова b в оставшейся части строки a. Если слово найдено, удаляем его из a и производим повторную проверку. Если результат положительный - выводим слово на печать и удаляем все вхождения слова b в строку a. Далее повторяем все действия, начиная с нахождения очередного слова, до тех пор, пока переменная a не опустеет. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Гость |
Сообщение
#19
|
Гость |
Спасибо большое за помощь,думаю теперь точно все сдам))))))))))
|
Lapp |
Сообщение
#20
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
думаю теперь точно все сдам)))))))))) Вот это меня нисколько не волнует. Если скажешь, что теперь знаешь больше - мне действительно будет приятно..-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 29.04.2024 3:14 |