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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
Closed Topic Открыть новую тему 
> Помогите решить., задание для делфи в консоль апликейшн
сообщение
Сообщение #1





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

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


написать программу в консольном приложении, на языке паскаль
по след. заданию --->
Напишите процедуры для сортировки элементов массива. Определите
количество сравнений, перестановок выполняемых при сортировке массива
размером: 10, 100, 1000, 10000 элементов, составьте таблицу с результатами;
для каждого размера массива проведите сравнение 5 случайно
сгенерированных массивов и найдите среднее арифметическое количества
сравнений и перестановок.
Методы сортировки:
2) сортировка методом прямого выбора (direct sort);
3) гномья сортировка (gnome sort);
по убыванию
Напишите функции для поиска номера элемента в отсортированном
массиве по его значению. Определите количество сравнений выполняемых при
поиске элемента в массиве размером 10,100,1000,10000 элементов, составьте
таблицу с результатами. Для каждого размера массива проведите сравнение 5
случайно выбранных чисел и найдите среднее арифметическое количества
сравнений.
Методы поиска:
1) поиск перебором;
3) интерполяционный поиск в отсортированном массиве.

wacko.gif
помощь очень нужна

Сообщение отредактировано: Имфилия -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Злостный любитель
*****

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

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


> 2) сортировка методом прямого выбора
http://www.realcoding.net/article/view/1220

> 3) гномья сортировка

http://ru.wikipedia.org/wiki/Гномья_сортировка


> 1) поиск перебором;

Тут понятно и без ссылок:
for i := Low(a) to High(a) do if a[i] = Key then begin
Index := i;
Break;
end;

> 3) интерполяционный поиск в отсортированном массиве.

http://ru.wikipedia.org/wiki/Интерполирующий_поиск


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


это не проблема
сортировку по сути сделала и поиск тоже сделала
проблема в том, што не могу понять как мне найти среднее арифметическое для 5массивов(((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

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

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


Считаешь для каждого количество перестановок и обменов, потом складываешь и делишь на 5. В чем именно сложность?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Злостный любитель
*****

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

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


Цитата

и вот главная проблема... найти сред.арифм перестановок и сравнений для 5сгенерированных массивов((( для различных n



MidRev := 0;
for i := 0 to CountSorts - 1 do begin // CountSorts равно пяти
Reverses := 0; // обнуляем кол-во перестановок
CreateArray; // заполняем массив случайными элементами
Sort; // сортируем, в это время количество перестановок тоже считаем
MidRev := MidRev + Reverses; // считаем суммарное кол-во перестановок во всех испытаниях
end;
MidRev := MidRev / CountSorts; // делим сумму на количество, получаем среднее



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


все такие простые)хд
у меня сортировка массива загнана в процедуре
генерирование массива тоже в процедуреПрикрепленный файл  6____.txt ( 2.21 килобайт ) Кол-во скачиваний: 603

перейди по ссылке и посмотри

только там другими методами и по возрастанию
но это сути не меняет
проблема таже

Сообщение отредактировано: Имфилия -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Злостный любитель
*****

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

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


Ну и какая проблема сделать что-то 5 раз и поделить кол-во перестановок на 5?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





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

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


Цитата(TarasBer @ 20.11.2010 12:29) *

Ну и какая проблема сделать что-то 5 раз и поделить кол-во перестановок на 5?


ДА
хд
е мае,я уже отдельно даже расписывала каждую программу
ну не знаю я куда их впихнуть просто wacko.gif
я уже 4дня мозг выношу себе этой хренью
раз понимаешь дак напиши пожалуйста как и куда поставить
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
у меня сортировка массива загнана в процедуре
генерирование массива тоже в процедуре
Ну, это твоя проблема, на самом деле. Если ты хочешь узнать, как переделать твой код - это ты не по адресу. Здесь могут подсказать, как сделать правильно, а не как усугублять неправильное решение...

То, что у тебя что-то загнано в процедуру, и у процедуры именно такой список параметров - это не значит, что можно делать только так. Можно, скажем, сделать функцию, и возвращать из нее количество сравнений/количество перестановок (благо, Дельфи позволяет возвращать результаты типа Record). Можно (и кстати, нужно !!!) описать подпрограмму так, чтоб она работала с открытыми массивами, а не с заранее описанными, тем более что размер ты все равно передаешь (это Дельфи тоже позволяет).

 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





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

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


Цитата(volvo @ 20.11.2010 12:39) *

Ну, это твоя проблема, на самом деле. Если ты хочешь узнать, как переделать твой код - это ты не по адресу. Здесь могут подсказать, как сделать правильно, а не как усугублять неправильное решение...

То, что у тебя что-то загнано в процедуру, и у процедуры именно такой список параметров - это не значит, что можно делать только так. Можно, скажем, сделать функцию, и возвращать из нее количество сравнений/количество перестановок (благо, Дельфи позволяет возвращать результаты типа Record). Можно (и кстати, нужно !!!) описать подпрограмму так, чтоб она работала с открытыми массивами, а не с заранее описанными, тем более что размер ты все равно передаешь (это Дельфи тоже позволяет).


все таки умные,што прям хоть стой хоть падай
разглагольствовать и я могу
и тут вообще не учитываются записи!!!!!
если бы были записи то и было сказано што я делаю записями
это делается через массив
при этом он заполняется не записью!!!!!!!
и не надо строить себя самым умные
я просила помочь в решении а не сидеть и умничать
это и я умею
не поверишь,я и сама знаю что мне надо сгенерировать 5 массивов и найти в них сред.арифм перестановок и сравнений вместе взятых!

Добавлено через 5 мин.

volvo

прежде чем умничать еще бы раз прочитали задание
НАПИСАТЬ процедуры
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Злостный любитель
*****

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

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


Ну что сложного написать числа P и C не как локальные переменные, а как возвращаемный результат:

procedure dummy_sort(var m:mas;N:integer; var P, C: integer);

И сделать так:

SumP := 0;
SumC := 0;
for i := 0 to 4 do begin
sotr_kakoi_to_tam(M, N, P, C);
SumP := SumP + P;
SumC := SumC + C;
end;
WriteLn('srednee kol-vo perestanovok: ', MidP/5);



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





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

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


Цитата(TarasBer @ 20.11.2010 13:06) *

Ну что сложного написать числа P и C не как локальные переменные, а как возвращаемный результат:

procedure dummy_sort(var m:mas;N:integer; var P, C: integer);

И сделать так:

SumP := 0;
SumC := 0;
for i := 0 to 4 do begin
sotr_kakoi_to_tam(M, N, P, C);
SumP := SumP + P;
SumC := SumC + C;
end;
WriteLn('srednee kol-vo perestanovok: ', MidP/5);




ахаха))спасибо,сейчас попробую
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Имфилия

Цитата
это делается через массив
при этом он заполняется не записью!!!!!!!
Это У ТЕБЯ он заполняется не записью. Я в задании про то, чем заполняется массив не нашел. Было сказано только про заполнение таблицы результатов. Какого типа эти результаты - не указывалось, то, что тебе показалось, что это целое число - это твои личные фантазии. Так что иди, и сама читай свою филькину грамоту как следует. К тому же, вернуть значение можно и из процедуры. Если ты этого не знаешь - то бегом читать документацию и описание языка.

Цитата
разглагольствовать и я могу
Пока я вижу только умение хамить. dry.gif

Цитата
я просила помочь в решении а не сидеть и умничать
Помочь <> решить за себя, это понятно? Тебе подсказали, что надо делать, ты что начала выделываться опять? Дюже шустрая, я погляжу? Правила читала? Тему твою надо было вообще на первой секунде снести, ибо нарушает все, что только можно. Тебя пожалели, ты на голову села? До свидания.

Закрыто...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


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

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

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


Цитата(volvo @ 20.11.2010 13:21) *
Правила читала? Тему твою надо было вообще на первой секунде снести, ибо нарушает все, что только можно. Тебя пожалели, ты на голову села? До свидания.

Закрыто...

А я бы еще и премод добавил..
Я уж лучше помогу последнему дебилу, но который уважает собеседника, чем неблагодарному грубияну - даже если он подает надежды.
Дорогая Дарья, очень советую тебе серьезно рассмотреть карьеру базарной торговки - она как раз для тебя. Много не наторгуешь, но зато каждый день будешь идти с работы полностью удовлетворенная, обложив всех покупателей трехэтажным..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 24.12.2024 1:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name