Dynamiczna macierz.

0

Witam. Jak zrobic macierz dynamiczną ktorej rozmiary podaje uzytkownik i w ktorej narożne wierzcholki jesli są parzyste to są zapamietywane i na koncu podana jest jest ich liczba, czyli jesli są dwie liczby parzyste to wynik jest 2. Jesli nie ma to <ort>po prostu</ort> komunikat ze ich nie ma. Pozdrawiam.

0

Zastosuj zwykłą tablicę dynamiczną (array of cośtam) i elementy na rogach to (dla tablicy 2D) 1 : [0,0], 2 : [0, Lenght(tablica) - 1], 3 : [Lenght(tablica) - 1,0], 4: [Lenght(tablica) - 1, Lenght(tablica) - 1] :P

0

type
tablica = array of array of integer;
var
tab: tablica;
lw: integer;
i,j,n,m: integer;
begin
lw:=0;
Write('Ile kolumn n?: ');
ReadLn(n);
Write('Ile rzedow n?: ');
ReadLn(m);
SetLength(tab,m,n);
for i:=0 to m-1 do
begin
for j:=0 to n-1 do
begin
Tab[i,j]:=random(99);
Write(Tab[i,j]:3);
end;
WriteLn;
end;
if tab[0,0] mod 2 = 0 then lw:=lw+1;
if tab[0,n-1] mod 2 = 0 then lw:=lw+1;
if tab[n-1,0] mod 2 = 0 then lw:=lw+1;
if tab[n-1,n-1] mod 2 = 0 then lw:=lw+1;
writeln('liczba wierzcholkow o parzystych danych to:',lw);

Readln;
end.

0

a ja mam takie pytanie: czy mozliwe jest stworzenie macierzy w wyzej zapisany sposob przy pomocy procedury, a nastepnie jej wypisanie przy pomocy innej?

0
scrider napisał(a)

czy mozliwe jest stworzenie macierzy w wyzej zapisany sposob przy pomocy procedury, a nastepnie jej wypisanie przy pomocy innej?

  1. zastosuj macierz globalną
  2. macierz możesz przekazać do procedur/-y jako parametr
0
jack napisał(a)
scrider napisał(a)

czy mozliwe jest stworzenie macierzy w wyzej zapisany sposob przy pomocy procedury, a nastepnie jej wypisanie przy pomocy innej?

  1. zastosuj macierz globalną
  2. macierz możesz przekazać do procedur/-y jako parametr

tak, wiem, tylko cos mi to nie idzie; wkleje kod, powiedzcie gdzi sie myle:

type
  tablica = array of array of integer;

procedure tworzA(var A:tablica; m,n:integer);
var
  tab: tablica;
  i,j: integer;
begin
SetLength(tab,m,n);
for i:=0 to m-1 do
  begin
    for j:=0 to n-1 do
      begin
      writeln('Podaj liczbe: ');
      read(Tab[i,j]);
      end;
    WriteLn;
  end;
for i:=0 to m-1 do
  begin
    for j:=0 to n-1 do
      begin
      write(Tab[i,j],' ');
      end;
    WriteLn;
  end;

end;

begin
writeln('Podaj ilosc wierszy pierwszej macierzy: ');
read(m);
writeln('Podaj ilosc kolumn pierwszej macierzy:');
read(n);
tworzA(A,n,m);

tzn. tu juz wypisuje jak widac od razu po wczytaniu, ja bym chcial dac uzytkownikowi mozliwosc wyboru, czy ma czy nie ja wypisac; jak powinna przykladowa proceura wygladac?

1 użytkowników online, w tym zalogowanych: 0, gości: 1