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

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

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

> 2 задачки, 1-вставка числа в массив, 2-строки
TOPEHTO
сообщение 23.11.2006 18:15
Сообщение #1


Пионер
**

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

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


Еще раз здраствуйте! и еще раз 10000 извинений!
вот тут задали, помогите кто чем может...плиз...
Цитата
Задан отсортированный одномерный массив чисел. Добавить введенное
пользователем число в массив таким образом, чтобы массив остался
отсортированным. Использовать минимальное количество сравнений.

так вот, вроде по условию массив уже отсортирован, на крайняк отсортирую, проблема со вставкой и минимальным кол-вом сравнений...если мона то сразу дайте процедуру, если нет...то хотя бы на словах и по доступней.
Поиск не помог, мож не те слова вводил... unsure.gif ...
Цитата
Ввести массив строк. Отсортировать строки в алфавитном порядке.

2-я залачка, знаю что должна тут быть где-то, но не нашел, уж не ругайте пожалуйста...а в инете, какие то сложные программы...
Помогите плиз... wink.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
volvo
сообщение 24.11.2006 12:04
Сообщение #2


Гость






Ну, скажем, так:

var
i,x,j, count: integer;
size, left, right, center: integer;
a: array[1 .. 100] of integer;

begin
write('vvedite size'); readln(size);
writeln('vvedite elementi');
for i:=1 to size do readln(a[i]);

writeln ('vvedite X');
readln (x);

if x>a[size] then a[size+1]:=x;
if x<a[1] then begin
for j:=size downto 1 do a[j+1]:=a[j];
a[1]:=x;
end
else begin
left := 1; right := size;
repeat

center := (right + left) div 2;
inc(count);
if a[ center ] >= X then right := center
else left := center;

until (right - left = 1) or (a[ center ] = X);

for i := size + 1 downto center do a[i] := a[i - 1];
a[ center ] := X;
end;

writeln('count = ', count);
for i:=1 to size+1 do
write (' ',a[i]);
writeln;

readln;
end.
Не забудь, массив упорядочен. Мой пример - для случая, когда он упррядочен по неубыванию...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
TOPEHTO   2 задачки   23.11.2006 18:15
TOPEHTO   Помогите пожалуйста... :mega_chok: ...   23.11.2006 22:20
klem4   Полагаю, нужно основываться на методе деления отре...   23.11.2006 22:30
-Екатерина-   задача: 42. Дан одномерный упорядоченный по неубыв...   23.11.2006 22:50
volvo   Только примерно... У тебя в программе производится...   24.11.2006 0:03
TOPEHTO   Volvo А мона переделаеть программу, которую дала Е...   24.11.2006 11:08
volvo   Ну, скажем, так: var i,x,j, count: integer; s...   24.11.2006 12:04
TOPEHTO   Volvo Несколько вопросов: 1- А как? Просто Я вообщ...   24.11.2006 12:33
volvo   методом бинарного поиска ищет позицию, на которой ...   24.11.2006 12:49
TOPEHTO   Volvo Пасибо огромное за ответы, что все по полочк...   24.11.2006 15:00
volvo   Просто массив 100% преподаватель будет вводить как...   24.11.2006 16:07
TOPEHTO   Volvo СпасиБо, тебе огромное...ВЫручил...сейчас бу...   24.11.2006 16:11
volvo   Не знаю... У меня нормально работает (после того, ...   24.11.2006 16:34
TOPEHTO   Ага, спасибо...во всем разобрался... :) ... Тут ещ...   24.11.2006 18:48
volvo   Зааешь, что? Я, конечно, понимаю, что у тебя может...   24.11.2006 18:55


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

 



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