Pascalban a sor legnagyobb elemet sor végére kell helyeznem úgyhogy hogy megcserélem azzal ami epén a végen van. De valahogy sosem jött össze. Hol csináltam hibát valaki meg tudna mondani?
program tomb;
uses crt;
var i,j,x,min,max,n,csere : integer;
a : array[1..10,1..10] of integer;
begin
clrscr;
write('Adja meg a tomb meretet: ');
readln(n);
writeln;
max:=-10;
min:=10;
randomize;
for i:= 1 to n do begin
for j:= 1 to n do begin
a[i,j]:=random(9)+1;
write(a[i,j]:2);
if max<a[i,j] then max:=a[i,j];
if min>a[i,j] then min:=a[i,j];
end;
writeln;
end;
writeln;
for i:= 1 to n do begin
for j:= 1 to n do begin
csere:=a[i,n];
a[i,n]:=max;
max:=csere;
end;
end;
for i:= 1 to n do begin
for j:= 1 to n do begin
write(a[i,j]:2);
end;
writeln;
end;
readln;
end.
"a sor legnagyobb elemet sor végére kell helyeznem"
Ehhez soronként kéne maximumot keresni, nem? Te csak egy maximumot keresel az egész mátrixban.
Emellett a cserés ciklusodnál tök felesleges a j változós ciklus, legalábbis nem használod semmire.
És ha megnézed ezt a cserés ciklust, mit csinál:
i=1 : max-ban lesz az 1. sor utsó eleme, 1. sor utsó elemében lesz a max
A globális max-ot el is vesztetted.
Későbbiekben az 1. sor utsó eleme (ami a max-ban van) bekerül a 2. sor utsó elemébe, és gyakorlatilag az utolsó elemek lefelé tolódnak, az n. sor utsó eleme pedig kint marad a max-ban.
Valamint illene ellenőrizni az n-t bekérés után, de ez már csak esztétika.
Mivel látom, hogy küzdtél:)
program tomb;
uses Crt;
var i, j, maxindex, max, n : integer;
a : array[1..10,1..10] of integer;
begin
ClrScr;
repeat
Write('Adja meg a tomb meretet: ');
ReadLn(n);
until (n > 1) and (n < 11);
WriteLn;
Randomize;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
a[i, j] := Random(9) + 1;
Write(a[i, j] : 2);
end;
WriteLn;
end;
for j := 1 to n do
begin
max := a[j, 1];
maxindex := 1;
for i := 1 to n do
begin
if a[j, i] > max then
begin
max := a[j, i];
maxindex := i;
end;
end;
a[j, maxindex] := a[j, n];
a[j, n] := max;
end;
WriteLn;
for i:= 1 to n do
begin
for j:= 1 to n do
begin
Write(a[i, j] : 2);
end;
WriteLn;
end;
ReadLn;
end.
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!