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

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

Форум «Всё о Паскале» _ Задачи _ 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, спасибо огромное, а никто незнает как вторую решить, без вашей помощи мне грозит угроза вылета из универа sad.gif

Автор: 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.

Бери пожалуйста и начинай учится))) yes2.gif

Автор: Гость 8.06.2008 12:26

Еще раз всем спасибо, особенно Telepat'y
Вот сессия закончится и буду постигать азы Паскаля.

Автор: Telepat 8.06.2008 22:41

Давай давай постигай) smile.gif

Автор: 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