IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> поиск наиболее часто встречающегося элемента матр.
-StRaNNiK-
сообщение 9.12.2005 22:15
Сообщение #1


Гость






Привет! Помогите, пожалуйста! Есть такая задача:
дан одномерный массив. Ну пускай из 30 элементов.

var
s: array [1..30] of string;


в программе пользователь вводит произвольно слова. но при этом некоторые повторяет. ну например вводил он, вводил, и навводил 30 значений. какое-то слово там встречается 3 раза, какое-то 8. так вот нужно вывести слово, которое встречается большего всего раз.
Надеюсь на вашу помощь.
Заранее спасибо!!
 К началу страницы 
+ Ответить 
volvo
сообщение 9.12.2005 22:38
Сообщение #2


Гость






-StRaNNiK-,
сортируем массив по возрастанию/убыванию, и ищем максимальное количество подряд идущих одинаковых элементов...
 К началу страницы 
+ Ответить 
-StRaNNiK-
сообщение 9.12.2005 23:07
Сообщение #3


Гость






Сортируем строки по возрастанию/убыванию? Такое можно делать?
Если можно, то как выполнить это:
"ищем максимальное количество подряд идущих одинаковых элементов"
 К началу страницы 
+ Ответить 
volvo
сообщение 9.12.2005 23:20
Сообщение #4


Гость






Цитата
Такое можно делать?

blink.gif А почему нет? Вот тебе пример:
const
n = 10;
a: array[1 .. n] of string =
('_1', '_4', '_7', '_4', '_2', '_3', '_2', '_2', '_5', '_4');

var
i, j: integer;
max: integer;
T: string;

begin
for i := 1 to n do
for j := n downto i+1 do
if a[j - 1] > a[j] then begin { < }
T := a[j - 1]; a[j - 1] := a[j]; a[j] := T
end;

for i := 1 to n do
write(a[i]:4);
writeln;

i := 2;
max := 0;
while i <= n do begin

j := 1;
while (a[i] = a[i - 1]) and (i <= n) do begin
inc(j); inc(i);
end;

if j > max then begin
max := j;
T := a[i - 1]
end;
inc(i)

end;
writeln('s: ', T, ' (', max, ') times...');

end.
 К началу страницы 
+ Ответить 
-StRaNNiK-
сообщение 10.12.2005 15:54
Сообщение #5


Гость






Не могу понять, в чем проблема. При запуске пишет ошибку: Left side cannot be assigned to
и показывает на вот эти 2 строки:
a[j - 1] := a[j]; a[j] := T
курсор ставит после =
 К началу страницы 
+ Ответить 
Guest
сообщение 10.12.2005 15:57
Сообщение #6


Гость






исправил путем переноса массива из констант в переменные

Дельфи - консольное приложение? wink.gif Там да, мой код надо немного подправить... Просто мы (если не указано явно) считаем, что автор вопроса пользуется TP7...

Сообщение отредактировано: volvo - 10.12.2005 16:13
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 19:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"