Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Помоги, люди добрые...   Найти похожие ветки 

 
Groof ©   (2005-11-05 21:52) [0]

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

#include <string>
#include <windows.h>
#include <iostream>
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<<sta("&#194;&#226;&#229;&#228;&#232;&#242;&#229; 5 &#246;&#229;&#235;&#251;&#245; &#247;&#232;&#241;&#229;&#235;:")<<endl;
for ((*pi)=0;(*pi)<5;(*pi)++)
 cin >> a[*pi];
delete pi;
cout<<sta("&#200;&#241;&#245;&#238;&#228;&#237;&#251;&#233; &#236;&#224;&#241;&#241;&#232;&#226;:")<<endl;
for (*pi=0;*pi<5;(*pi)++)
 cout<<a[*pi]<<" ";
cout<<endl;
cout<<sta("&#211;&#239;&#238;&#240;&#255;&#228;&#238;&#247;&#229;&#237;&#237;&#251;&#233; &#239;&#238; &#243;&#225;&#251;&#226;&#224;&#237;&#232;&#254; &#236;&#224;&#241;&#241;&#232;&#226;:")<<endl;
 
for(*pi=4;(*pi)>=0;(*pi)--)
{
 for(*pj=1;(*pj)<=(*pi);(*pj)++)
 {
  if (a[*pj]<a[*pj-1])
  {
   *h=a[*pj];
   a[*pj]=a[*pj-1];
   a[*pj-1]=*h;
  }
 }
 cout<<a[*pi]<<" ";
}
delete h;
delete pj;
delete []a;
cout<<endl;
cin.get();
return 0;
}


 
TUser ©   (2005-11-06 07:46) [1]

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.


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

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

if Ar[j] < Ar[j-1] do begin
if Ar[j] < Ar[j-1] then begin


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

>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.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.081 c
5-1111333211
mafiz
2005-03-20 18:40
2005.11.20
ObjectInspector


14-1130003386
Loginov Dmitry
2005-10-22 21:49
2005.11.20
Каким образом должен развиваться MatriX?


14-1130067405
Суслик
2005-10-23 15:36
2005.11.20
По поводу delphi 2006.


3-1129003870
k2
2005-10-11 08:11
2005.11.20
Oracle9. ORA-03113


2-1130762140
Fast2
2005-10-31 15:35
2005.11.20
Как, во время выполнения приги, узнать колличество и имена полей