Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

Nejste přihlášen(a). Přihlásit

#1 25. 03. 2010 09:00

Sonic44
Zelenáč
Příspěvky: 13
Reputace:   
 

Algoritmus matice

Zdravim,nevím si rady jak sestojit algoritmus pro tento příklad:Je dano N cisel. Vytisknete matici typu M/N, ktera ma v
    i-tem radku i nasobky danych cisel.

Vcera jsem se na to snažil přijít ale na skoro nic jsem nepřišel!Mohl by mi prosím někdo poradit?každá rada dobrá!děkuju předem

Offline

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

#2 25. 03. 2010 09:38

pietro
Příspěvky: 4792
Reputace:   187 
 

Re: Algoritmus matice

↑ Sonic44: prosim vytvor nove makro v exceli v novom sheets...a vloz tam tento basic pgm
Sub aaaa()
Dim c(5)
n = 5: Rem pocet cisel
c(1) = 3: c(2) = 5: c(3) = 7: c(4) = -2: c(5) = 1: Rem nacitanie cisel
r = 10: Rem pocet riadkov
Dim a(10, 5)
For i = 1 To r
For j = 1 To n
a(i, j) = c(j) * i
Cells(i, j) = a(i, j)
Next j
Next i
End Sub

Offline

 

#3 25. 03. 2010 09:56

Sonic44
Zelenáč
Příspěvky: 13
Reputace:   
 

Re: Algoritmus matice

↑ pietro: ja bych to potreboval v Pascalu a aby mi to sežrala delphina!ale díky moc jinak!;)

Offline

 

#4 25. 03. 2010 11:07

plisna
Místo: Brno
Příspěvky: 1503
Reputace:   
 

Re: Algoritmus matice

↑ Sonic44: v Delphi s vypisem napriklad do komponenty Memo lze pouzit neco jako:

Code:

procedure TForm1.Button1Click(Sender: TObject);
const N = 5;
      M = 10;
var i, j: Integer;
    cisla: array[1..N] of Integer;
    buffer: String;
begin

  cisla[1] := 2; cisla[2] := 7; cisla[3] := 4; cisla[4] := 3; cisla[5] := 1;

  for i := 1 to M do begin
    buffer := '';
    for j := 1 to N do begin
      buffer := buffer + ' ' + IntToStr(i * cisla[j]);
    end;
    Memo1.Lines.Add(buffer);
  end;

end;

Offline

 

#5 28. 03. 2010 13:22

Sonic44
Zelenáč
Příspěvky: 13
Reputace:   
 

Re: Algoritmus matice

↑ plisna:  jej to je na me moc složité,my jsme ted začli brát procedury!takže se v tom ještě až tak neorientuju!trosku jinak by to nešlo??

Offline

 

#6 15. 04. 2010 10:14 — Editoval killerlop (15. 04. 2010 10:17)

killerlop
Zelenáč
Příspěvky: 5
Reputace:   
 

Re: Algoritmus matice

No tak jednoduše, načíst matici předpokládám umíš.

Pokud sem to pochopil, tak každý řádek té matice, resp. každou hodnotu v řádku máš mít jako násobek toho řádku. Takže platí toto, pro výpis matice použij následující kód:

for i:=1 to M do
begin
    for j:=1 to N do
      begin
        write(matice[i,j] * i, ' '); {toto veme hodnotu na pozici matice i a j  a tu hodnotu vynasobi cislem radku tedy tim i}
      end;
    writeln('');  {odradkovani matice}
end;

nezapomeň deklarovat proměnné i a j jako integer.


Pokud máš ale jednorozměrné pole tak je to jinak:


var i,j:integer;
matice:array[1..100] of integer;


tady to se pak píše při výpisu té matice

for i:=1 to M do
begin
    for j:=1 to N do
      begin
        write(matice[j] * i, ' '); {toto veme hodnotu na pozici matice i a j  a tu hodnotu vynasobi cislem radku tedy tim i}
      end;
    writeln('');  {odradkovani matice}
end;

Offline

 

#7 15. 04. 2010 14:45

květoslav
Příspěvky: 31
Reputace:   
 

Re: Algoritmus matice

plesá to je ještě jednoduché, co vás to tam učí ;)


program Tomas_Bernat_streda_10_45_matice2;
{$APPTYPE CONSOLE}



var
  a:array[1..10,1..10]of real;
  m,n,i,j:integer;
  f:text;
  pom:real;
begin
  writeln('Program pro zamenu sloupcu v matici');
  writeln('___________________________________');
  writeln;
  assign(f,'data_02.txt');
  reset(f);
  read(f,m,n);
  for i:=1 to m do
    for j:=1 to n do
      read(f,a[i,j]);
  writeln('Zadana matice:');
  writeln;
  for i:=1 to m do begin
    for j:=1 to n do
      write(a[i,j]:8:2);
  writeln;
  end;
  writeln;
  writeln('nasobene radky:');
  writeln;
  for i:=1 to m do
    for j:=1 to n do begin
      a[i,j]:=a[i,j]*i;
  end;
  for i:=1 to m do begin
    for j:=1 to n do
      write(a[i,j]:8:2);
  writeln;
  end;
  writeln;
  writeln('Konec-enter');
  readln;
end.





a texťák
6 6
1 2 3 4 5 6
4 5 6 7 8 9
7 8 9 1 2 3
1 2 3 4 5 6
4 5 6 7 8 9
7 8 9 1 2 3

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson