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

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

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

> Найти число, которое встречается нечетное кол-во раз
Janna
сообщение 23.11.2007 10:08
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Женский
Реальное имя: Жанна

Репутация: -  0  +


Помогите, пожалуйста, решить задачку:
Дана последовательность целых чисел. Известно, что все числа в ней встречаются четное количество раз, кроме одного, которое встречается нечетное число раз. Требуется написать программу, которая определяет это число.
give_rose.gif

Сообщение отредактировано: Janna - 23.11.2007 10:20
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
Lapp
сообщение 23.11.2007 11:52
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


М
Пожалуйста, не пиши слово "помогите" или "SOS" в заголовке. Я исправил, в следующий раз удалю тему.



Сама что-то пыталась сделать? Покажи свои наработки.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2007 12:18
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Еще пара вопросов:
- "целые" означает integer?
- как задается последовательность? массив, файл?..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Malice
сообщение 23.11.2007 13:32
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Я бы организовал динамический список.. Тогда алгоритм такой:
1. Проходим по всему перечню данных чисел (массив, файл и т.п)
2. Если в списке есть текущее число, то удалить его из списка, иначе добавить его в список
3. По окончании выполнения цикла в списке останутся числа, встречающиеся нечетное кол-во раз.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2007 13:38
Сообщение #5


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Malice @ 23.11.2007 13:32) *

Я бы организовал динамический список..
Список не обязательно. Вот мое решение без списка. И вообще без дополнительных структур. Только две переменные цикла smile.gif.
const
N=15;
a:array[1..N]of integer=(1,2,3,1,3,4,4,2,3,3,5,4,5,6,6);

var
i,k:integer;

begin
k:=1;
while k<=N do begin
i:=k+1;
while (i<=n) and (a[i]<>a[k]) do Inc(i);
if i>N then begin
WriteLn(a[k]);
ReadLn;
Exit
end;
a[i]:=a[1];
Inc(k);
while a[k]=a[1] do Inc(k)
end
end.



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.11.2007 13:44
Сообщение #6


Гость






const
N=15;
a:array[1..N]of integer=(1,2,3,1,3,4,4,2,3,3,5,4,5,6,6);
s: integer = 0;

var i: integer;
begin
for i := 1 to n do s := s xor a[i];
writeln(s);
end.


Стандартная тестовая задача, кстати...
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2007 13:55
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Логично! good.gif

Кстати, в моем варианте ошибка, если это число стоит первым.. sad.gif Исправлять уже не хочется..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 23.11.2007 17:18
Сообщение #8


Гость






Спасибо большое за помощь! Но я в Паскале вообще плохо разбираюсь..., а так нужно сделать эту задачку. Как организовать ввод данных с клавиатуры?
 К началу страницы 
+ Ответить 
Ozzя
сообщение 24.11.2007 8:33
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


read/readln
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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