![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Гость_annie |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
я вот такую прогу написала, кот должна выдавать в алф. порядке слова из файла. она выдает последнее слово н раз. что тут не так?
можно ли использовать метод пузырька для сортировки массива из строк? вот у меня такая прога: Код program blah; uses crt; type r=1..500; mas=array[r] of string[10]; var i,k,l:integer; m,n:r; sp:mas; slovar:text; p,tmp:string; begin clrscr; assign(slovar,'slovar.txt'); reset(slovar); n:=1; while not eof(slovar) do begin readln(slovar,p); n:=n+1; {for i:=1 to length(p) do begin } for m:=1 to n-1 do begin sp[m]:=p; {end;} end; writeln(m,' ',sp[m]); for m:=n-1 downto 2 do for l:=1 to m-1 do if sp[l]>sp[l+1] then begin tmp:=sp[l]; sp[l]:=sp[l+1]; sp[l+1]:=tmp; end; end; writeln('v alfavitnom poryadke:'); for l:=1 to n-1 do writeln(l,' ',sp[l]); writeln(n-1); close(slovar); readkey; writeln('Programma zavershila rabotu.'); end. она выдаёт последнее слово в файле, приравнивая его всем эл-там массива. почему так? в файле словарь.тхт даны строки типа Код HELLO MY NAME IS KATE на выходе: 1 HELLO 2 MY 3 NAME 4 IS 5 KATE 'v alfavitnom poryadke: 1 KATE 2 KATE 3 KATE 4 KATE 5 KATE |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Попробуй так:
|
Altair |
![]()
Сообщение
#3
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата слова из файла Каждое слово на отдельной строке? Цитата можно ли использовать метод пузырька для сортировки массива из строк? Да конечно, но при сравнении строк действует правило: сначала сравнивается длинна строки, и если равны строки то уже по алфавиту... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
![]()
Сообщение
#4
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата сначала сравнивается длинна строки, и если равны строки то уже по алфавиту... Только что проверил в TP7 - ничего подобного, сразу по алфавиту. Цитата If 'abcd'>'bc' then Writeln('Ok') else Writeln('No'); -------------------- |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Да, действительно... странно, я думал иначе...
![]() тогда нет проблемм... ;) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Гость_annie |
![]()
Сообщение
#6
|
Гость ![]() |
спасибо огромное за проверку
![]() Да, в файле 1 слово на строку, но теперь уже всё ясно. всем спасибо |
Altair |
![]()
Сообщение
#7
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Конечно, что тут не понятного, если код привели рабочий
![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Oleg_Z
Я только подправил код :p2: Все равно ![]() Сообщение отредактировано: Oleg_Z - 18.11.2004 19:09 |
Гость |
![]()
Сообщение
#9
|
Гость ![]() |
Тема конечно старая, но мало ли еще кто догадается отсортировать строки пузырем. =)
Конечно, теоретически отсортировать можно. Но представьте реальную программу, в которой будет использоваться пузырь! Мало того, что он малопригоден для сортировки обычных чисел - квадратичная сложность обрекает ваш компьютер на глубокие раздумья уже при количестве элементов 10000. А для еще большего количества строк непригоден даже qsort (быстрая сортировка, сложность n*log(n)). У меня сейчас стоит подобная задача - отсортировать 100000 строк длиной 15 за быстрое время. Сейчас работаю в направлении поразрядной сортировки (RadixSort, по-идее работает за линейное время). Так что не вздумайте сортировать строки пузырем! alext |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата Так что не вздумайте сортировать строки пузырем! У тебя спрашивали, что-ли, как сортировать? Когда спросят, тогда будешь высказываться. О космических скоростях и галактических размерах в данной теме речь не шла. Теоретиков, которые все время только работают в направлении, но у них всегда только теоретические высказывания (причем чаще всего - это набор слов) в последнее время толпы развелись... Экзамены закончились, что-ли? Теперь до сентября будут заумные ничего не значащие высказывания? ![]() |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 10:11 |