Hogyan tudom eldönteni egy egydimenziós tömb elemiről, hogy azok növekvő sorrendbe vannak-e?
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!
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.
"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
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.
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.
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.
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...
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...
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.
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!
...
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!:)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!