Задачи на сортировку
|
|
Есть файл students.txt с данными студентов( ФИО, группа , курс) . Нужно отсортировать данные чтобы программа дала результат ( ФИО -> курс -> группа). Спасибо зарание!!!
|
|
|
Помогите, пожалуйста! Такое задание: отсортировать массив методом выбора по не возрастанию сумм элементов строк. Написала программу, но не совсем правильно. Программа считает суммы строк записывает их в одномерный массив и его сортирует. ну и в итоге получается одномерный массив. а нужно что бы отсортированым был изначально заданный массив двумерный. Не получается переделать. Вот моя программа: program xxx; uses crt; var i,j,n:integer; matr:array[1..5,1..5] of real; masSum:array[1..5] of real; temp:real; begin randomize; {inicializacia dat4ika slu4 4isel} n:=5; {koli4-vo elementov} for i:=1 to n do {zadaem cikl} for j:=1 to n do begin write('vvedite [',i,'][',j,'] element = '); {zapros vvoda elemebta massiva} readln(matr[i,j]); {4tenie s klavi} { matr[i,j]:=random(10);} {vvod dannix esli randomom} { writeln(' ',matr[i,j]:3:3);} {otobrajenie dannix esli randomom} masSum[i]:= masSum[i]+matr[i,j]; {summirovanie elementov po stroke} end; writeln('press eny key to next'); {vivod soobshenia} readkey; { najatie luboi klavishi} clrscr; {o4istka ekrana} writeln('summa po stroke rezultat '); for i:=1 to n do {vivod na ekran summi} writeln(masSum[i]:3:3); {vivod na ekran} for j:=1 to n do {uporado4ivanie po ciklu} for i:=2 to n do if masSum[i-1]>masSum[i] then masSum[i]:=masSum[i] {srvnenie elementov} else {perestanovka elementov} begin temp:=masSum[i]; massum[i]:= massum[i-1]; massum[i-1]:=temp; end; writeln; {vivod rezultata} writeln('rezultat preobrazovania'); writeln; for i:=1 to n do {vivod na ekran summi} writeln(masSum[i]:3:3); writeln('press enter to exit'); {vivod soobshenia} readln; {ojidanie} {konec} end.
|
|
|
Помогите решить задачу Дана матрица n X m.Отсортировать по возрастанию элементы стоящие по периметру матрицы,начиная с элемента A(n,1) по часовой стрелке.Среди элементов,находящихся внутри периметра найти максимум и минимум с указанием индексов.
|
|
|
Ребят помогите пожалуйста.. надо зачет получить а не успела все задачи сдать((( Написать сортировки массива- прямое включение и шелла, и сравнить какая из них работает быстрее.. с этим счетчиком ничего не получается у меня(( И сидеть над ней уже некогда, пишу про ферзей... завтра надо обе сдать.. Последняя надежда на вас...
|
|
|
Сортировка выбором. Дана последовательность чисел а1 а2, ..., аn. Требуется переставить элементы так, чтобы они были расположены по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый — на место наибольшего. Затем, начиная со второго, эта процедура повторяется. Написать алгоритм сортировки выбором.
|
|
|
Есть 3 статических одномерных массива.Пользователь вводит их, массивы(каждый) сортируются по убыванию и заносятся в динамический двумерный массив
var a,b,c: array[1..10] of integer; x:array of integer; i,j,n:integer; begin randomize; for i:=1 to 10 do a[i]:=random(10)-5; for i:=1 to 10 do b[i]:=random(10)-5; for i:=1 to 10 do c[i]:=random(10)-5; SetLength(x,32); {специальная процедура выделения памяти} for i:=1 to 10 do begin inc(j); x[j]:=a[i]; end; for i:=1 to 10 do begin inc(j); x[j]:=b[i]; end; for i:=1 to 10 do begin inc(j); x[j]:=c[i]; end; for i:=1 to 30 do write(x[i],' '); end.
Помогите пожалуйста сделать сортировку массива.
№ 6 | Автор: Yurik555 |
2013-12-08, 18:52 | Изменено: Yurik555 - Чт, 2011-12-22, 20:29
|
Репутация: [ + 0 ]
|
|
|
Применяя метод бинарных вставок, отсортировать массив, файл, список, элементами которых являются одни и те же целые числа, выбранные случайным образом из некоторого промежутка. Сравнить время работы программ для каждого случая. Результаты отображать на экране.
|
|
|
Помогите пож-то решить задачу... Дана матрица. Упорядочить элементы столбцов матрицы по неубыванию, а сами столбцы по неубыванию характеристик строк. Характеристикой столбца матрицы называется сумма его положительных четных элементов. Использовать пирамидальную сортировку, реализовав метод в виде подпрограммы.
|
|
|
1) создаешь массив S с тремя строками и длиной равной периметру матрицы 2*(n+m)-4 (кажется так) 2) вписываешь в этот массив в первую строку элементы периметра, а во вторую и третью строку его индексы 3) сортируешь по первой строке (не переставляя при этом индексы во второй и третьей строках) 4) берешь исходную матрицу и заменяешь в ней элементы с индексами из второй и третьей строки S на элементы из первой строки; ============= 1) Создаешь массив размером (n-2)x(m-2) и переписываешь в него внутреннюю матрицу (без элементов периметра) 2) находишь минимум и максимум;
|
|
|
уж чего-чего а соритровок у нас на сайте полно. вам достаточно в поисковой строке сайта сделать запрос и вы найдете решение своих задач.
|
|
|
А не прокатит обычная пузырьковая?:) var a:array[1..100]of integer; i,j,n,q:integer; begin writeln('Введите размерность массива'); read(n); writeln('Вводите элементы массива'); for i:=1 to n do read(a[i]); for i:=1 to n do for j:=1 to n-1 do if a[j]<a[j+1] then begin q:=a[j+1];a[j+1]:=a[j];a[j]:=q;end; for i:=1 to n do write(a[i],' '); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Сортировка:
for i:=1 to n do for j:=1 to m-1 do if a[j]>a[j+1] then begin k:=a[j];a[j]:=a[j+1];a[j+1]:=k;
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
"Спасибо" принимается повышением репутации ( Зелёный плюсик:) )
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|