Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помоги, люди добрые... [D7, WinXP]


Groof ©   (2005-11-05 21:52:00) 

Надо написать консольное приложение для дельфи.С клав-ы вводятся 5 чисел..в динамический массив, и все переменные должны быть динамическими..Надо отсортировать массив, и отобразить изначальный массив, и отсортированный. Только есть минус, мне нельзя писать преподу что-то сложное и заумное..
вот для с++ эту проу я написал. Вот код:

#include
#include
#include
using namespace std;
char* sta(char *ps)
{
char *bf=new char[strlen(ps)];
CharToOem(ps,bf);
return bf;
}

int main ()
{
int *a=new int[5],
 *pi=new int,
 *h=new int,
 *pj=new int;
cout


PZ   (2005-11-06 10:21:00) [1]

>TUser ©   (06.11.05 07:46) [1]

Можно несколько упростить Вашу программу: переменная S - ни к чему

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

const
 Count = 5;

var
 Ar: array of integer;

procedure PrintArray;
var i: integer;
begin
 for i:=0 to High(ar) do
 writeln ('Ar['+inttostr(i)+'] = ', Ar[i]);
 writeln;
end;

var
 i, j, k: integer;

begin
 SetLength (Ar, Count);

 // вводим числа
 writeln;
 for i:=0 to Count-1 do
 begin
   write ('Ar['+inttostr(i)+'] = ');
   readln(Ar[i]);
 end;

 writeln;
 writeln ('Source array');
 PrintArray;

 // пузырек
 for i:=Count-1 downto 1 do
 for j:=1 to i do
 if Ar[j] < Ar[j-1] then  //do
 begin
   k:=Ar[j]; Ar[j]:=Ar[j-1]; Ar[j-1]:=k;
 end;

 writeln ('Result array');
 PrintArray;
 Readln;
 { TODO -oUser -cConsole Main : Insert code here }
end.


PZ   (2005-11-06 09:24:00) [2]

>TUser ©   (06.11.05 07:46) [1]

if Ar[j] < Ar[j-1] dobegin
if Ar[j] < Ar[j-1] thenbegin


TUser   (2005-11-06 07:46:00) [3]

program 2prep;
{$apptype console}
uses SysUtils;

const Count = 5;

var Ar: array of integer;

procedure PrintArray;
var i: integer;
begin
for i:=0 to High(ar) do
writeln ('Ar['+inttostr(i)+'] = '+inttostr(Ar[i]));
writeln;
end;

var
i, j,k: integer;
s: string;
begin
SetLength (Ar,Count);

// вводим числа
for i:=0 to Count-1 do begin
write ('Ar['+inttostr(i)+'] = ');
readln(s);
Ar[i]:=StrToInt (s);
end;

writeln;
writeln ('Source array');
PrintArray;

// пузырек
for i:=Count-1 downto 1 do
for j:=1 to i do
if Ar[j] < Ar[j-1] do begin
k:=Ar[j]; Ar[j]:=Ar[j-1]; Ar[j-1]:=k;
end;

writeln ('Result array');
PrintArray;

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо