Matematické Fórum

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

#1 06. 04. 2014 17:04

tender
Zelenáč
Příspěvky: 1
Škola: VŠB-FBI
Pozice: student
Reputace:   
 

Matice - Maximum ze sloupcových minim

Zdravím,
prosím vás potřeboval bych poradit s  následujícím příkladem:
Sestavte proceduru pro nalezení minima z N-prvkové posloupnosti celých čísel a použijte ji pro řešení následující úlohy:
Je dána čtvercová matice řádu K (K<20) s celočíselnými prvky.Sestavte program, který tuto matici vytiskne
a najde maximum z jejích sloupcových minim.

Skoro celý algoritmus již mám (viz. code), ale mám problém s procházením sloupců. Zkoušel jsem přidávat různé cykly, tak aby program procházel ostatní sloupce, ale zasekl jsem se na tom, že můžu projít maximálně jeden konkrétní sloupec. Resp. do svého pomocného pole pro ukládání minim uložím vždy jen jednu hodnotu z jednoho sloupce.

Zdroják (PS: omlouvám se, ale strukturované programování mi moc neříká :D):

Code:

type
  TPole=array[1..20] of real;
function Minimum(N:integer; posloupnost: TPole): real;
var
j,i: integer;
min: real;
begin
  min:=posloupnost[1];
        for i:=1 to N do
            begin
                 if (posloupnost[i] < min) then
                    min:=posloupnost[i];
                    Minimum:=min;
            end;

end;

var
  K,i,j: integer;
  matice: array [1..20,1..20] of real;
  minima: array [1..20] of real;
  posloupnost,pom_pole: TPole;

begin
K:=5;
i:=0;
j:=0;
randomize();
          for j:=1 to K do
            begin
                 for i:=1 to K do
                     matice[i,j]:=random(100)+1;
            end;

          for i:=1 to K do
            begin
              for j:=1 to K do
                write (matice[i,j]:6:0);
                writeln;
            end;
writeln('-------------------------------------');;

            for i:=1 to K do
            begin

                            pom_pole[i]:=matice[i,j];
                            writeln('Sloupec:',pom_pole[i]:6:0);
                            minima[i]:=Minimum(K,pom_pole);
            end;


          writeln('-------------------------------------');
          writeln('Minimum ze sloupce:',Minimum(K, pom_pole):6:0);
          for j:=1 to K do
            begin
//                 minima[j]:=Minimum(K,pom_pole);
                 writeln('Minima: ',minima[j]:6:0);
            end;
//writeln('Minimum: ',Minimum(N, posloupnost));
readln;
end.

Offline

  • (téma jako vyřešené označil(a) tender)

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson