Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
ahoj, potreboval bych poradit jak presunout max prvek na konec pole..asi podle indexu, ale nevím jak...prosím o radu
-mam hotove vygenerovane pole ze ktereho vyberu maximalni prvek, ale ted nevim jak to prerovnat v poli, jestli udelat dalsi pole?
var
Application: TMyApplication;
pole:array [1..5] of integer;
i,j,max:integer;
pozice:byte;
begin
max:=0;
randomize;
for i:=1 to 5 do begin
pole[i]:=random(10)+1;
end;
writeln('Pole:');
for i:=1 to 5 do begin
end;
writeln;
for i:=1 to 5 do begin // hledam maximum v poli
if pole[i]>max then max:=pole[i];
end;
writeln('maximalni prvek je:',max);
//writeln('max prvek na konci rady');
readln;
end.
Offline
↑ johnnyjohnny:
Ahoj, pascalu moc nerozumím, ale napíši to česky :-)
Ze zdrojového kódu jsem vykoukal že je pole velikosti 5, tudíž by poslední prvek měl ležet na indexu 4 (0,1,2,3,4).
Pokud najdeš maximum, měl by sis taky pamatovat, na jakém indexu leží(pokud nechceš znovu projíždět pole).
Tudíž máš hodnotu max a indexMax.
Pak už stačí z pole na konci si vyndat nějak to, co tam je.
Třeba ![kopírovat do textarea $\text{int tmp = pole[4];}$](/mathtex/d3/d32c947876d1a86c6db568432ba3d62a.gif)
![kopírovat do textarea $\text{pole[4]=max;}$](/mathtex/a6/a6a2d2f0478feedca6a86e7f7fd2677d.gif)
![kopírovat do textarea $\text{pole[maxIndex]=tmp;}$](/mathtex/30/30fe07ae45ea18f9d1b74315187d0c70.gif)
POZOR, nevím jaká je syntaxe v pascalu, toto je jen nápověda (z javy)
Offline
↑ PanTau: tak pozici jsem si prvku zjistil akorat tápu jak přesunout na konec rady
var
Application: TMyApplication;
pole,polem:array [1..5] of integer;
index,pozice,i,j,pom,max:integer;
begin
index:=0;
max:=0;
randomize;
for i:=1 to 5 do begin
pole[i]:=random(10)+1;
end;
writeln('Pole:');
for i:=1 to 5 do begin
write(pole[i],' ');
end;
writeln;
writeln;
for i:=1 to 5 do begin // hledam maximum v poli
if pole[i]>max then
max:=pole[i];
index:=i-1;
write(pole[i]:3, ' ');
writeln('index:=',index,' ;');
end;
writeln;
writeln('maximalni prvek je:',max);
writeln;
Offline
Stránky: 1