Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Слияние массивов и упорядочивание

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 19.12.2010, 14:27   #1
 Разведчик
Аватар для 108omg
 
108omg никому не известный тип
Регистрация: 30.07.2010
Сообщений: 13
Популярность: 12
Сказал(а) спасибо: 8
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Слияние массивов и упорядочивание

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

Надо сделать по этой задаче алгоритм блок-схему, ее вроде кое-как сделал, а вот как реализовать в делфи, не знаю

Кому несложно, помогите начинающему программисту , пасибку не пожалею
  Ответить с цитированием
Старый 19.12.2010, 15:11   #2
 Разведчик
Аватар для Fiery Dragon
 
Fiery Dragon на правильном путиFiery Dragon на правильном пути
Регистрация: 25.12.2009
Сообщений: 29
Популярность: 145
Сказал(а) спасибо: 4
Поблагодарили 34 раз(а) в 20 сообщениях
 
По умолчанию Re: Слияние массивов и упорядочивание

Код:
const SizeF:integer=5;
SizeS:integer=5;
SizeT:integer=10;
var
FirstArr:array [1..SizeF] of integer;
SecondArr:array[1..SizeS] of integer;
ThdArr:array[1..SizeT] of integer;
i,j,min,count:integer;
begin
j:=1;
count:=0;

for i:= 1 to SizeF do
begin
writeln('Введите FirstArr[',i,'] элемент: ');
readln(  FirstArr[i]);
end;

for i:= 1 to SizeS do
begin
writeln('Введите SecondArr[',i,'] элемент: ');
readln(  SecondArr[i]);
end;

for i:= 1 to SizeT do
begin
if (i<=SizeF) then  begin
 ThdArr[i]:=FirstArr[i] ;
 inc(count);
 end
 else
 begin
 ThdArr[i]:=SecondArr[j];
 inc(count);
 inc(j);
 end;
 end;
 

for i:=2 to SizeT do
for j:=SizeT downto i do
if ThdArr[j-1]>ThdArr[j] then
begin
min:=ThdArr[j-1];
ThdArr[j-1]:=ThdArr[j];
ThdArr[j]:=min;
end;
        
for i:= 1 to SizeT do
writeln( ThdArr[i]);
writeln('Общее количество элементов:',count);

end.

Последний раз редактировалось Fiery Dragon; 19.12.2010 в 15:18.
  Ответить с цитированием
Пользователь сказал cпасибо:
108omg (19.12.2010)
Старый 19.12.2010, 15:54   #3
 Разведчик
Аватар для Fiery Dragon
 
Fiery Dragon на правильном путиFiery Dragon на правильном пути
Регистрация: 25.12.2009
Сообщений: 29
Популярность: 145
Сказал(а) спасибо: 4
Поблагодарили 34 раз(а) в 20 сообщениях
 
По умолчанию Re: Слияние массивов и упорядочивание

Код:
var
FirstArr:array [1..5] of integer;
SecondArr:array[1..5] of integer;
ThdArr:array[1..10] of integer;
i,j,min,count,SizeF,SizeS,SizeT:integer;
begin
j:=1;
count:=0;
SizeF:=5;
SizeS:=5;
SizeT:=10;

for i:= 1 to SizeF do
begin
writeln('Введите FirstArr[',i,'] элемент: ');
readln(  FirstArr[i]);
end;

for i:= 1 to SizeS do
begin
writeln('Введите SecondArr[',i,'] элемент: ');
readln(  SecondArr[i]);
end;

for i:= 1 to SizeT do
begin
if (i<=SizeF) then  begin
 ThdArr[i]:=FirstArr[i] ;
 inc(count);
 end
 else
 begin
 ThdArr[i]:=SecondArr[j];
 inc(count);
 inc(j);
 end;
 end;


for i:=2 to SizeT do
for j:=SizeT downto i do
if ThdArr[j-1]>ThdArr[j] then
begin
min:=ThdArr[j-1];
ThdArr[j-1]:=ThdArr[j];
ThdArr[j]:=min;
end;
writeln(' ');
for i:= 1 to SizeT do
writeln( ThdArr[i]);
writeln('Общее количество элементов:',count);
readln(i);

end.
попробуй так...константы дельфи чего-то не видет,а в pascal abc запустилось =\
  Ответить с цитированием
Пользователь сказал cпасибо:
108omg (19.12.2010)
Старый 21.12.2010, 10:09   #4
 Разведчик
Аватар для Fiery Dragon
 
Fiery Dragon на правильном путиFiery Dragon на правильном пути
Регистрация: 25.12.2009
Сообщений: 29
Популярность: 145
Сказал(а) спасибо: 4
Поблагодарили 34 раз(а) в 20 сообщениях
 
По умолчанию Re: Слияние массивов и упорядочивание

Для рандома пишешь в самом начале где-нить
Код:
Randomize;
а в цикле пишешь

Код:
for i:= 1 to SizeF do
begin
a:=random(50);
FirstArr[i]=a;
end;
а для поиска надо массив через двойной цикл прогнать и искать на совпадение соседних элементов,если совпадение удалять
  Ответить с цитированием
Старый 21.12.2010, 13:53   #5
 Разведчик
Аватар для Fiery Dragon
 
Fiery Dragon на правильном путиFiery Dragon на правильном пути
Регистрация: 25.12.2009
Сообщений: 29
Популярность: 145
Сказал(а) спасибо: 4
Поблагодарили 34 раз(а) в 20 сообщениях
 
По умолчанию Re: Слияние массивов и упорядочивание

Код:
var
FirstArr:array [1..5] of integer;
SecondArr:array[1..5] of integer;
ThdArr:array[1..10] of integer;
tempArr:array [1..10] of integer;
i,j,z,min,count,SizeF,SizeS,SizeT,rand:integer;
temp:boolean;
begin
j:=1;
count:=0;
SizeF:=5;
SizeS:=5;
SizeT:=10;
randomize;
for i:= 1 to SizeF do
begin
rand:=random(10);
FirstArr[i]:=rand ;
end;

for i:= 1 to SizeS do
begin
rand:=random(10);
SecondArr[i]:=rand;
end;

for i:= 1 to SizeT do
begin
if (i<=SizeF) then  begin
 ThdArr[i]:=FirstArr[i] ;
 inc(count);
 end
 else
 begin
 ThdArr[i]:=SecondArr[j];
 inc(count);
 inc(j);
 end;
 end;


for i:=2 to SizeT do
for j:=SizeT downto i do
if ThdArr[j-1]>ThdArr[j] then
begin
min:=ThdArr[j-1];
ThdArr[j-1]:=ThdArr[j];
ThdArr[j]:=min;
end;
writeln(' ');
 count:=0;
 z:=1;
writeln('Massiv do proverki na povtorbI:');

for I := 1 to SizeT  do
writeln(ThdArr[i]);
writeln(' ');


   For i := 1 to SizeT do
     Begin
        temp := false;
          For j := 1 to 10 do
            begin
            if (i=j) then  continue
            else  begin
              If ThdArr[i] = ThdArr[j] then   
                  begin
                           temp := true;
                           break;
                  end;
            end;
                
           end;
        if temp <> true then
          begin
            tempArr[z]:= ThdArr[i];
            inc(z);
          end;
     End;

writeln('massiv bez povtor element:');
for I := 1 to z-1 do
writeln(tempArr[i]);
writeln('Vcego elementov v novom massive: ',z-1);
     
readln(i);
end.
фуф,написал)
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обсуждение] Прокачивание К0ТЁН0К Общение и обсуждение, архив Point Blank 22 21.04.2010 19:12

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:21.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net