Форум «Всё о Паскале» _ Задачи _ 2 задачи по массивам
Автор: xammer23 6.06.2008 12:05
Вот 2 задачи на массивы:
Даны произвольных массива X, Y и Z размера k, n и m соответсвенноо. Найти в каждом массиве X, Y и Z минимальный элемент. Исходные данные взять самостоятельно.
Дан произвольный массив G размера n. Упорядочить в порядке убывания элементы этого массива, стоящие на нечетных мечтах. На печать вывести элементы исходного и полученного массивов. Исходные данные взять самостоятельно.
Очень прошу решите пожалуйста, уже все мозги сжёг.
P.S. если нетрудно то выложите пожалуйста сразу решение, ато я в паскале почти ничего не смыслю.
Автор: Telepat 6.06.2008 21:56
Цитата(xammer23 @ 6.06.2008 8:05)
Вот 2 задачи на массивы:
Даны произвольных массива X, Y и Z размера k, n и m соответсвенноо. Найти в каждом массиве X, Y и Z минимальный элемент. Исходные данные взять самостоятельно.
Дан произвольный массив G размера n. Упорядочить в порядке убывания элементы этого массива, стоящие на нечетных мечтах. На печать вывести элементы исходного и полученного массивов. Исходные данные взять самостоятельно.
Очень прошу решите пожалуйста, уже все мозги сжёг.
P.S. если нетрудно то выложите пожалуйста сразу решение, ато я в паскале почти ничего не смыслю.
Первя задача очень простая
Код
const n=10; var x:array[1..n] of integer; i,min:integer; begin for i:=1 to n do begin Write('x[',i,']='); Readln(x[i]); end; min:=x[1] for i:=1 to n do if x[i]<min then min:=x[i] end.
И так для всех трёх массивов
Автор: Гость 6.06.2008 23:40
Telepat, спасибо огромное, а никто незнает как вторую решить, без вашей помощи мне грозит угроза вылета из универа
Автор: Coach 7.06.2008 13:18
А самому попытаться слабо .Она тоже очень простая:находишь все элементы с индексом i mod 2 <>0 ,скидывая их вотдельный массив ,а потом отсортировываешь этот массив по убыванию .Попытайся сделать сам ,ибо она просто ,будут конкретн. вопросы спрашивай.
Автор: Telepat 7.06.2008 21:21
Ну раз сессия гоит решил тебе помочь
Код
uses crt; const n=10; m=5; var i,x,j,y:integer; a:array[1..n] of integer; b:array[1..m] of integer; begin clrscr; x:=1; for I:=1 to n do begin Write('Vvedite a[',i,']='); Readln(a[i]); end; clrscr; Writeln('Do sortirovki'); for i:=1 to n do Writeln(a[i]); for i:=1 to m do begin B[I]:=A[X]; x:=x+2; end; for i:=2 to m do for j:=m downto i do if b[j-1]>b[j] then begin y:=b[j-1]; b[j-1]:=b[j]; b[j]:=y; end; x:=1; for i:=1 to m do begin a[x]:=b[i]; x:=x+2; end; Writeln('Posle sortirovki:'); for i:=1 to n do Writeln(a[i]); readln; end.
Бери пожалуйста и начинай учится)))
Автор: Гость 8.06.2008 12:26
Еще раз всем спасибо, особенно Telepat'y Вот сессия закончится и буду постигать азы Паскаля.
Автор: Telepat 8.06.2008 22:41
Давай давай постигай)
Автор: volvo 8.06.2008 23:00
Telepat, зачем понадобилось вводить столько лишних переменных, и делать рутину в виде копирования данных в другой массив только для его сортировки? Или у тебя тоже стиль http://forum.pascal.net.ru/index.php?s=&showtopic=22157&view=findpost&p=124182 ?
Все прекрасно делается и в том же массиве:
uses crt; const n=10; var i,j,y:integer; a:array[1..n] of integer; begin clrscr; for I:=1 to n do begin Write('Vvedite a[',i,']='); Readln(a[i]); end;
clrscr; Writeln('Do sortirovki'); for i:=1 to n do Write(a[i]:4); writeln;
i := 1; while i <= n do begin for j := n downto i + 2 do if odd(j) then begin Y := a[j]; a[j] := a[j - 2]; a[j - 2] := Y; end; inc(i, 2); end; Writeln('Posle sortirovki'); for i:=1 to n do Write(a[i]:4); writeln; end.
Автор: Alex J'Root 9.06.2008 2:16
Цитата
Или у тебя тоже стиль "программа не надорвется" ?
У тебя видемо стиль: программа станет меньше жрать памяти и я просвящу народ, тем самым покажу, что я крутой чел, который может всех унижать!!!
Автор: мисс_граффити 9.06.2008 5:04
Alex J'Root, простите, кого унизили? Вас? Дайте, пожалуйста, ссылку - все нарушившие правила форума будут наказаны в соответствии с правилами. Пока что я вижу грубость только с Вашей стороны.
Цитата
У тебя видемо стиль: программа станет меньше жрать памяти и я просвящу народ
На этом следовало остановиться.
Автор: volvo 9.06.2008 14:30
Цитата
Дайте, пожалуйста, ссылку - все нарушившие правила форума будут наказаны в соответствии с правилами.
Не верю, но все-же вот тебе даже две ссылки: Раз: http://forum.pascal.net.ru/index.php?showuser=11933 Два: http://forum.pascal.net.ru/index.php?showuser=11874