roy
Administrator
Dołączył: 02 Gru 2007
Posty: 70
Przeczytał: 0 tematów
Skąd: Głuchołazy
|
Wysłany: Wto 19:01, 04 Gru 2007 Temat postu: Lista 4 - zad 4 mgr D |
|
|
Kod: | program Project4;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
w1=10;
k1=10;
type
tablica=array[1..w1,1..k1]of integer;
///////funkcja losowanie tablicy i wypelnianie/////
function wypelnij (w,k :integer;var tab:tablica):integer;
var
i,j:integer;
begin
for i:=1 to w do begin
for j:=1 to k do begin
tab[i,j]:=random(10);
write(tab[i,j]:3);
end;
writeln;
end;
end;
////////////////////
///funkcja srednia///
function srednia(w,k:integer;var tab:tablica):real;
var i,j:integer;
sred:real;
begin
sred:=0;
for i:=1 to w do begin
for j:=1 to k do begin
sred:=sred+tab[i,j];
end;
end;
result:=(sred/(w*k));
end;
/////////////////////
//////////funkcja suma////
function suma(w,k,wk,x: byte; var tab:tablica):byte;
var i,j,suma : integer;
begin
if (wk=0) then begin
suma:=0;
for i:=1 to w do begin
for j:=1 to k do begin
if x=i then
suma:=suma+tab[i,j];
end;
end;
result:=suma;
end
else begin
suma:=0;
for i:=1 to w do begin
for j:=1 to k do begin
if x=j then
suma:=suma+tab[i,j];
end;
end;
result:=suma;
end;
end;
var
w,k : integer;
wk,x:byte;
tab:tablica;
begin
randomize;
repeat
writeln('Podaj ilosc wierszy');
readln(w);
writeln('Podaj ilosc kolumn');
readln(k);
until (w>0) and (k>0);
wypelnij(w,k,tab);
writeln('Podaj czy bedziesz pracowal na wierszach [0] czy kolumnach [1]');
readln(wk);
writeln('Podaj ktogo/ej wiersza/kolumny sume policzc');
readln(x);
suma(w,k,wk,x,tab);
writeln('Suma to :',suma(w,k,wk,x,tab));
writeln('Srednia tablicy to : ',srednia(w,k,tab):0:2);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
|
I wiecie co po jakiejs chwili pisania sam juz nie wiem o co chodzi w tym zadaniu pozatym nie mam pojecia czy dobrze uzywam parametrow itp
no i program jeszcze nie ma zabezpieczenia co do przekroczenia rozmiaru tablicy - chcetni moga poprawic
|
|