Kezdőoldal » Számítástechnika » Programozás » Hogyan tudom eldönteni egy...

Hogyan tudom eldönteni egy egydimenziós tömb elemiről, hogy azok növekvő sorrendbe vannak-e?

Figyelt kérdés

Egy ilyen programot kéne csinálnom (de még kell a csökkenő, rendezetlen, vagy valamennyi egyforma is:()

Turbo Pascal nyelven kellene.

Nem tudna esetleg valaki segíteni? csak a kezdőlöket kéne ^^

Köszönöm előre is!


2009. márc. 8. 15:10
1 2
 1/12 anonim ***** válasza:

Ajjaj!

A programozókra pont az jellemző, hogy ÖTLETÜK van!

Na mindegy... remélem, ezután neked is lesz:


Menj végig egyesével a tömbön, és nézz meg mindig 2 egymás mellett levő elemet. Így megnézheted azt is, hogy a következő mindig nagyobb-e, vagy mindig kisebb, vagy mindig egyenlő. Ha valami nem stimmel, leáll a program és jajgat. Ha gond nélkül végigment, akkor örül neki.

2009. márc. 8. 15:28
Hasznos számodra ez a válasz?
 2/12 A kérdező kommentje:

"Menj végig egyesével a tömbön, és nézz meg mindig 2 egymás mellett levő elemet. Így megnézheted azt is, hogy a következő mindig nagyobb-e, vagy mindig kisebb, vagy mindig egyenlő."


És azt, hogy tudom megvizsgálni?:O:S

2009. márc. 8. 15:31
 3/12 anonim ***** válasza:

Hinnye!

NAGYON szedd össze magad, mert ez már súlyos.

Egy egyszerű összehasonlítás: az x. elem nagyobb, vagy az (x+1). ?

Az x az elején 1 (ha Pacalban dolgozol), aztán egyesével növekszik. Vigyázz, hogy ne szaladj ki a tömbből.

2009. márc. 8. 15:40
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:

Legyen N a tömb elemeinek száma. Pascalul viszont nem tudok :D


novekvo=1;

for (i=1;i<N;i++){

if (tomb[i]>tomb[i+1]) novekvo=0;

}

if (novekvo) printf("Növekvő sorrendben vannak a tömb elemei");

Kb ennyi C-ben. A lényeg: feltételezed, hogy növekvő sorrendben vannak. Indítasz egy ciklust 1-től N-1-ig. Ha az aktuális elem nagyobb mint a következő elem, akkor nincs növekvő sorrendben, tehát törlöd (0-zod) a novekvo változót. Elegánsan itt ki is lehetne lépni a ciklusból, de megírni így egyszerűbb :)

A végén megnézed, hogy a novekvo különbözik-e 0-tól, ha igen (nem 0-ztuk a ciklusban) akkor a tömb elemei növekvő sorrendben vannak.

2009. márc. 8. 15:41
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:

program nev;

var a:array[1..50] of integer;

j,n,i:byte;

x:integer;

begin

write('n=');readln(n);

for i:=1 to n do readln(a[i]);

for i:= 1 to n-1 do for j:=i+1 to n do

if a[i]>a[j] then begin x:=a[i];

a[i]:=a[j];

a[j]:=x;

end;

writeln('a rendezett tomb');for i :=1 to n do write(a[i],' ');

readln;

end.

2009. márc. 8. 15:53
Hasznos számodra ez a válasz?
 6/12 anonim ***** válasza:

Na igen... ezért nem akartam így leírni.

Segíteni lehet bármennyit - de itt NEKED kellene érteni (később pedig magadtól rájönni), hogyan lehet ezt kitalálni és megírni.


Ezeket most bemásolhatod, és villoghatsz velük. Érteni nem is kell. Ilyen alapon egy végtermék logisztikai szakmunkás is megtehetné ezt...

2009. márc. 8. 16:27
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:

A C-sből kihagytam azt, hogy kell az, hogy esetleg csökkenő, vagy mind azonos. Ezeket rád bízom :D

A Pascalos kolléga programja meg nem a megadott feladatra van, hanem egy sima rendezési algoritmus...

2009. márc. 9. 07:58
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:

Már bocs. Rendeztetni a tömb elemeit én is tudom. Nem kell itt basztatni az embert, h szedjem össze magad. Az legyen az én problémám, h mit tok és mit nem!

Nekem csak annyi kell, h bekérek egy tömbbe pl. 10 elemet, és arról eldöntöm, h az most növekvő vagy csökkenő vagy stb.

2009. márc. 9. 16:30
 9/12 anonim válasza:

Bocs hogy ide írok, de az én kérdésemre nem válaszolt senki.....

szal,csinálnom kéne egy programot ami szöveges dokumentumból olvas be adatokat....nade ezt hogy kell megcsinálni?


elvileg assign parancsal kéne...

assign (f,'fájlneve.txt');

reset (f);

...de most az f mi lenne? azt a var-nál meg kell vhogy adni? segítsetek légyszi, fontos lenne!

2009. márc. 10. 14:58
Hasznos számodra ez a válasz?
 10/12 A kérdező kommentje:

...

Var f : text {mivel szövegről beszélünk}

...

Assign(f,'C:\TP\BIN\szoveg.txt'); {Nekem ez az elérési útvonalam}

Reset(f);


Remélem tudtam segíteni!:)

2009. márc. 10. 16:01
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!