Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Сортировка

Автор: proxweb 5.05.2009 18:12

Ребята помогите с задачкой пожалуйста.
Используя функцию random(24), создайте двумерный массив целых чисел a11, a12, ..., аnn (положительных и отрицательных). Методом бинарного поиска отсортировать значения. Каждый элемент нечетного столбца заменить его суммой значений главной диагонали.

Автор: Ozzя 5.05.2009 19:35

Цитата
Используя функцию random(24), создайте двумерный массив целых чисел a11, a12, ..., аnn (положительных и отрицательных).

Здесь ничего сложного нет.
For i:=1 to n do 
For j:=1 to n do
a[i] [j]:=random(100)-100; // допустим

Кстати, почему random(24)?
Цитата
Методом бинарного поиска отсортировать значения

Поиск и сортировка - по сути, сапс-и-и-им разные действия, так_скаать

Автор: proxweb 5.05.2009 19:45

Неудобно конечно.. А можно ли решить всю задачку? В сортировках очень слабо ориентируюсь.

Автор: Ozzя 5.05.2009 19:59

Да нет бы проблем. Ежели уточнить задачу у препода. Ибо не знаю метода сортировки "бинарного поиска " я. no1.gif

Автор: Гость 8.05.2009 4:04

Вот нашел что-то про бинарную сортировку.. Пример

{ Бинарный поиск в упорядоченном массиве }
program poisk1;
var
a:array[1..9] of integer; { массив целых }
obrazec:integer; { образец для поиска }
sred,verh,niz:integer; { номера среднего, верхнего и нижнего}
{ эл-тов массива}
naiden:boolean;{ признак совпадения с образцом }
n:integer; { счетчик сравнений с образцом }
i:integer;
begin
{ ввод 9 целых чисел }
writeln('Бинарный поиск в массиве.');
write('Введите 9 целых в одной строке через пробел ');
writeln('и нажмите <Enter>');
for i:=1 to 9 do read(a[i]);
{ здесь числа в массив введены }
writeln('Введите образец для поиска (целое число) ');
readln(obrazec);
{ бинарный поиск }
verh:=1;
niz:=9;
naiden:=FALSE;
n:=0;
writeln(' verh niz sred');
repeat
sred:=(niz-verh) div 2+verh;
writeln(verh:5,niz:5,sred:5);
n:=n+1;
if a[sred]=obrazec then naiden:=TRUE
else begin
if obrazec<a[sred]
then niz:=sred-1
else verh:=sred+1;
end;
until (verh>niz) or naiden;
if naiden
then write('Совпадение с элементом номер ',
sred,'. Выполнено ',n,' сравнений.')
else writeln('Образец в массиве не найден.');
readln;
end.


Автор: proxweb 8.05.2009 4:06

Мое сообщение было.

Автор: volvo 8.05.2009 4:24

Цитата
Вот нашел что-то про бинарную сортировку
и
Цитата
{ Бинарный поиск в упорядоченном массиве }


Ты действительно не видишь разницы между этими понятиями: сортировка и поиск? Ничего, что для того, чтобы ИСКАТЬ что-то в массиве бинарным поиском, он должен быть УЖЕ отсортирован? Или тебе все равно, и ты в любом случае будешь гнуть свое? Тебе сказали уже: приводи алгоритм сортировки (я уж не знаю, как выделить это слово, чтоб ты его заметил наконец, не ПОИСКА, а СОРТИРОВКИ!!!), поможем запрограммировать. А хочется потроллить - это ты ошибся адресом, можешь искать другое место для развлечений...

Автор: proxweb 13.05.2009 5:54

Извините ребят что возможно разозлил, не обратил внимания что сам запостил. Постораюсь больше таких глупостей не писать. unsure.gif