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 17. 06. 2013 20:11

hans66
Příspěvky: 263
Pozice: Student kombinovaného studia
Reputace:   
 

matice-sirka pasma(pascal)

ahoj, ucim se na zkousku a momentalne delam:Vygenerujte matici o rozmerech 20x20 pomoci vzorce M[i,j]=round(sin(i+j)-cos(i)),matici vytisknete na obrazovku.dále zjistete sirku pasma matice a maximalni vzdalenost nenuloveho prvku od hlavni diagonaly.diagonalni matice ma sirku pasma 1.
muj kod:

Code:

var
  Application: TMyApplication;
  mat:array[1..20,1..20] of real;
  i,j:integer;
begin
  for i:=1 to 20 do begin
      for j:=1 to 20 do
      mat[i,j]:=round(sin(i+j)-cos(i));
      end;
  for i:=1 to 20 do begin
      for j:=1 to 20 do
          write(mat[i,j]:3:0);
          writeln;
  end;
   readln;
end.

poradte mi co je to sirka pasma matice?

Offline

 

#2 17. 06. 2013 20:23

martisek
Příspěvky: 914
Škola: MU Brno
Pozice: učitel, FSI VUT v Brně
Reputace:   52 
 

Re: matice-sirka pasma(pascal)

↑ hans66:

Šířka pásme je podle mě maximální vzdálenost dvou nenulových prvků (přes řádky nebo přes sloupce). Kód vypadá zatím dobře:-)


Wolfram ani jiný chemický prvek matematiku nenaučí.

Offline

 

#3 17. 06. 2013 20:50

hans66
Příspěvky: 263
Pozice: Student kombinovaného studia
Reputace:   
 

Re: matice-sirka pasma(pascal)

↑ martisek: děkuji:-) akorat nevim jak tu podminku napsat:-/ nevim jestli to je dobre

Code:

var
  Application: TMyApplication;
  mat:array[1..20,1..20] of real;
  i,j,pasmo:integer;
begin
  for i:=1 to 20 do begin
      for j:=1 to 20 do
      mat[i,j]:=round(sin(i+j)-cos(i));
      end;
  for i:=1 to 20 do begin
      for j:=1 to 20 do
          write(mat[i,j]:3:0);
          writeln;
          end;
  pasmo:=0;
          for i:=1 to 20 do begin
              for j:=1 to 20 do
                  if (mat[i+1,j]>0) and (mat[i-1,j]>0) and (mat[i,j-1]>0) and (mat[i,j+1]>0) then
                 pasmo:=pasmo+1;
          end;
          write('sirka pasma je:',pasmo);
   readln;
end.

Offline

 

#4 17. 06. 2013 21:40 — Editoval martisek (17. 06. 2013 21:59)

martisek
Příspěvky: 914
Škola: MU Brno
Pozice: učitel, FSI VUT v Brně
Reputace:   52 
 

Re: matice-sirka pasma(pascal)

↑ hans66:

To ne, to zjistiš jen počet kladných prvků. Napsal bych to asi tak:

   pasmo:=0;
          for i:=1 to 20 do
          begin
          Pocet_Nenulovych:=0;
              j:=1;
              While (mat[i,j]=0) or (j<20) do inc(j)
              if mat[i,j]<>0 then
                    begin
                        Pocet_Nenulovych:=1; inc(j);
                        While (mat[i,j]<>0) or (j<20) do begin inc(j);Inc(Pocet_Nenulovych);end;
                    end;
              if  Pocet_Nenulovych>Pasmo then Pasmo:=Pocet_Nenulovch;   
          end;
          // pak ještě totéž s přehozenými cykly
          write('sirka pasma je:',pasmo);
   readln;


Wolfram ani jiný chemický prvek matematiku nenaučí.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson