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 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: 4782
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