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
Ahoj, mohl by mi nekdo poradit jak by vypadal program... ktery vygeneruje matici...a pak secte cisla kolem jedoho prvku ( up-down-left-right) a z techto cisel pak bude cela nova matice? ... diky za pomoc...
Offline

↑ Joker478:
Ani tu matici vygenerovat nezvládneš?
Offline
Zdravím,
tady máš matici... u té funkce READ si můžeš hodit random. ;-)
program ExampleArr;
uses crt;
const ArrSize = 5;
type Tabel = array[1..ArrSize,1..ArrSize] of integer;
var Matrix : Tabel;
procedure READ_MATRIX (var Mat : Tabel; N : integer);
var I, J : integer;
begin
for I := 1 to N do
for J := 1 to N do
read(Mat[I,J])
end;
procedure PRINT_MATRIX (Mat : Tabel; N : integer);
var I, J : integer;
begin
for I := 1 to N do
begin
for J := 1 to N do
write(Mat[I,J]:8);
writeln;
end;
end;
begin
READ_MATRIX(Matrix, ArrSize);
PRINT_MATRIX(Matrix, ArrSize)
end.Offline
To uděláš tak že si na začátku vytvoříš další matici o stejné velikosti, a dvě proměnné x,y.
Pak ji projdeš (vnořený cyklus pdoobně jako PRINT_MATRIX v příspěvku od RePRO).
Místo vypisování, ale budeš v druhé matici zvětšovat číslo prvku, který je na stejné pozici jako je procházení první matice.
Zvětšovat budeš o okolní (x+1 ..x-1 y+1.. y -1) Musíš samozřejmě ověřit, že nechceš přiřazovat číslo, které je mimo matici (ArrSize+1).
Takže takto:
Offline