Witam muszę napisać program w pascalu który będzie robił takie rzeczy :
za pomocą 3 procedur program ma po wpisaniu 1 losować tablice(0-10) po wpisaniu 2 użytkownik musi sam wstawic tablicę(0-10)
3 procedura ma obliczyć sumę elementów wokół jednej liczby
Dodam obrazek który wyjaśni jak ma obliczać 3 procedura(to tylko przykład procedura ma obliczać dla każdej liczby z tabeli)

Jak ktoś będzie potrzebował więcej info prosze pisać na priv

1

Odpowiedzi

Najlepsza Odpowiedź!
2010-04-08T22:53:27+02:00
Program tabl;
uses crt;

const N=3;{ilosc wierszy i kolumn tabeli}

type T=array[0..N+1,0..N+1] of integer; {tabel jest otoczona zerami, zeby przy brzegach tablicy wychodzily dobre wyniki}

var wybor:integer;
tab,tab2:T;{tab2 to tablica z wartosciami po dodaniu sasiednich liczb}

procedure zeruj(var tablica:T); {procedura zerujaca tablice, zeby nie bylo tam zadnych przypadkowych liczb}
var i,j:integer;
begin
for i:=0 to N+1 do
for i:=0 to N+1 do
tablica[i,j]:=0;
end;

procedure auto(var tablica:T);{automatyczne wypelnianie tablicy}
var i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
tablica[i,j]:=random(10);
end;

procedure recznie(var tablica:T);{reczne wypelnianie tablicy}
var i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
begin
writeln('Wiersz: ',i,': Kolumna: ',j,' :');
read(tablica[i,j]);
end;
end;

procedure wyswietl(tablica:T);{wyswietlanie tablicy}
var i,j:integer;
begin
for i:=1 to N do
begin
for j:=1 to N do
write(tablica[i,j]:5);{ :5 oznacza to, ze kazda liczba zajmuje 5 "kratek" zeby liczby nie nachodzily na siebie i zeby przejrzyscie wygladalo}
writeln;
end;

end;

procedure dodaj(var tablica2,tablica:T);{procedura dodajaca liczby znajdujace sie na okolo i tworzaca nowa tablice z wartosciami po dodaniu sasiednich liczb}
var i,j:integer;
begin
for i:=1 to N do
for j:=1 to N do
begin
tablica2[i,j]:=tablica[i+1,j-1]+tablica[i+1,j]+tablica[i+1,j+1]+tablica[i,j+1]+
tablica[i-1,j+1]+tablica[i-1,j]+tablica[i-1,j-1]+tablica[i,j-1];
end;
end;

begin
randomize;
clrscr;

repeat

writeln('1 - Losowanie tablicy i wypisanie');
writeln('2 - Reczne wypelnienie tablicy i wypisanie');
writeln('3 - Dodawanie sasiednich wartosci');
writeln('4 - EXIT');
writeln('Wybor: ');
read(wybor);

case wybor of

1:
begin
zeruj(tab);
zeruj(tab2);
auto(tab);
wyswietl(tab);
end;

2:
begin
zeruj(tab);
zeruj(tab2);
recznie(tab);
wyswietl(tab);
end;

3:
begin
dodaj(tab2,tab);
writeln('Normalna tablica:');
wyswietl(tab);
writeln('Tablica z wartosciami po dodaniu');
wyswietl(tab2);
end;

end;

until wybor=4;


end.