:: |
Autor |
Poruka |
Miss_Anna Početnik Domaćeg.de
|
Godine: 36
Datum registracije: 17 Jan 2006 Poruke: 11 Mesto: Mali Lošinj
|
|
eeeeee OBOZAVAM OBOOOZAVAM PASCAL!!!!!!!! Joooj najveca zelja mi je studirati informatiku, jednostavno mogu provesti sate i sate radeci programe!!
By the way... ovo bi moglo svima pomoci
http://www.geocities.com/SiliconValley/Horizon/5444/pstart.htm
Edit by Jugovic:
Btw, imas edit-dugme ako zelis nesto da dodas!
|
_________________ Izgubiti minutu u zivotu je mnogo bolje nego izgubiti zivot u minuti!! |
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
Da ne zana neko kako da napravim proceduru u pascalu koja transponuje matricu (pravougaonu) ako matrica NIJE uneta u dinamicki aslociranu memoriju a da pri tome ne koristim pomocnu matricu vec samo jedan pomocni element.
|
|
|
|
|
|
andrejko Dobro upućeni član
|
Godine: 37
Datum registracije: 24 Maj 2004 Poruke: 748 Mesto: Nis
|
|
Ako sam te razumeo glavni deo bi trebao da ide ovako:
Code: |
for i := 1 to n do
for j := i + 1 to m do begin
tmp := a [i, j];
a [i, j] := a [j, i];
a [j, i] := tmp;
end;
|
|
_________________ Bolje biti malo lud, nego malo pametan.
Lanac je jak koliko i njegova najslabija karika.
Da mi neko da 3 dana da cepam drva, 2 dana bih ostrio sekiru. |
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
andrejko je napisao/la sledeće: | Ako sam te razumeo glavni deo bi trebao da ide ovako:
Code: |
for i := 1 to n do
for j := i + 1 to m do begin
tmp := a [i, j];
a [i, j] := a [j, i];
a [j, i] := tmp;
end;
|
|
Nisi me razumeo. Naglasio sam da je matrica pravougaona. Ovo bi lepo radilo samo ako je matrica kvadratna tj. ako ima isti broj redova i kolona.
|
|
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
Treba mi procedura koja brise jednostruko ulancanu listu iz dinamicki aslocirane memorije. Procedura treba da radi na principu rekuzije (poziva samu sebe do ne obrise celu listu).
|
|
|
|
|
|
andrejko Dobro upućeni član
|
Godine: 37
Datum registracije: 24 Maj 2004 Poruke: 748 Mesto: Nis
|
|
Pa matrica i jeste pravougaona NxM (jedna for je do N a druga do M)...
|
_________________ Bolje biti malo lud, nego malo pametan.
Lanac je jak koliko i njegova najslabija karika.
Da mi neko da 3 dana da cepam drva, 2 dana bih ostrio sekiru. |
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
Matrica koju si ti obradjivao jeste pravougaona ali razmisli sta ce se dogoditi ako je na primer n < m sa nekim elementom a[i][j] pri cemu je j>n prilikom transponovanja.
|
|
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
Evo ti primer programa za transponovanje matrice. Probaj da umesto procedure koju sam ja stavio uneses svoju pa ces videti sta se desava i ucemu je problem.
program dz3;
const max_br_vr=10;
max_br_kol=10;
type def_matrice=array [1..max_br_vr, 1..max_br_kol] of real;
var matrica: def_matrice;
n, m: integer;
rezultat: real;
{Procedura za unos matrice}
procedure unos_matrice(var mat: def_matrice; var p, q: integer);
var i, j: integer;
begin
writeln;
writeln('---------- UNOS PODATAKA ----------');
write('Unesite broj vrsta: ');
read(p);
while (p>max_br_vr) do
begin
writeln('Broj vrsta je van opsega.');
write('Ponovite unos: ');
read(p)
end;
write('Unesite broj kolona: ');
read(q);
while (q>max_br_kol) do
begin
writeln('Broj kolona je van opsega.');
write('Ponovite unos: ');
read(q)
end;
for i:=1 to p do
for j:=1 to q do
begin
write('Element [', i, '][', j, ']: ');
read(mat[i][j])
end;
writeln
end;
{Kraj procedure za unos matrice}
{Procedura za ispisivanje matrice}
procedure ispisivanje_matrice(var mat: def_matrice; var p, q: integer);
var i, j: integer;
begin
writeln;
writeln('Matrica:');
for i:=1 to p do
begin
writeln;
for j:=1 to q do
write(' ', mat[i][j]:8:2)
end;
writeln;
end;
{Kraj procedura za ispisivanje matrice}
{Procedura za transponovanje matrice}
procedure transponovanje_matrice(var mat: def_matrice; var p, q: integer);
var tmp: def_matrice;
elem: real;
i, j, k, b: integer;
begin
k:=0;
for i:=1 to p do
begin
k:=k+1;
for j:=1 to q do tmp[j][k]:=mat[i][j]
end;
p:=j;
q:=k;
mat:=tmp
end;
{Kraj procedure za transponovanje matrice}
{Funkcija za racunanje geometrijske sredine}
function geometrijska_sredina(var mat: def_matrice; var p, q: integer): real;
var geo_sr: real;
i, j, b: integer;
begin
if (p>0) and (q>0) then geo_sr:=1
else geo_sr:=0;
b:=0;
for i:=1 to p do
for j:=1 to q do
begin
if ((i+j) mod 2) = 0 then
begin
geo_sr:=geo_sr * mat[i][j];
b:=b+1
end
end;
geometrijska_sredina:= exp ( ln (geo_sr) / b)
end;
{Kraj funkcije za racunanje geometrijske sredine}
{Procedura za ispisivanje rezultata}
procedure ispisivanje_rezultata(rez: real);
begin
writeln;
writeln('Geometrijska sredina je: ', rez:6:2)
end;
{Glavni program}
begin
repeat
unos_matrice(matrica, n, m);
ispisivanje_matrice(matrica, n, m);
transponovanje_matrice(matrica, n, m);
ispisivanje_matrice(matrica, n, m);
rezultat:=geometrijska_sredina(matrica, n, m);
ispisivanje_rezultata(rezultat);
until ((n<1) or (m<1))
end.
|
|
|
|
|
|
andrejko Dobro upućeni član
|
Godine: 37
Datum registracije: 24 Maj 2004 Poruke: 748 Mesto: Nis
|
|
Da jeste. Pa onda samo razmotri kada je n >= m (ono) a u drugom slucaju obrni petlje tj, idi od doljeg levog (isto samo obrnuto). Zar ne?!
|
_________________ Bolje biti malo lud, nego malo pametan.
Lanac je jak koliko i njegova najslabija karika.
Da mi neko da 3 dana da cepam drva, 2 dana bih ostrio sekiru. |
|
|
|
|
nesa_gajic Početnik Domaćeg.de
|
Godine: 39
Datum registracije: 11 Jun 2005 Poruke: 90
|
|
Misli da ni tako nemoze. Mislim da treba nacrtati kako bi takva matrica izgledala u memoriji pa da onda provaliti koji sa kojim elementom treba zameniti.
|
|
|
|
|
|
andrejko Dobro upućeni član
|
Godine: 37
Datum registracije: 24 Maj 2004 Poruke: 748 Mesto: Nis
|
|
Ma probaj ovo. Aj sad nesto radim (inace sledece nedelje je tak iz inf) pa cu da ti otkucam nocas...
|
_________________ Bolje biti malo lud, nego malo pametan.
Lanac je jak koliko i njegova najslabija karika.
Da mi neko da 3 dana da cepam drva, 2 dana bih ostrio sekiru. |
|
|
|
|
zdravkoetf Početnik Domaćeg.de
|
Godine: 40
Datum registracije: 28 Avg 2005 Poruke: 101 Mesto: Beograd
|
|
hercegyu je napisao/la sledeće: | Evo mogao bih ja i da pocnem.
Pitanje kako se ispisuje skup u paskalu?!Imamo neke elemente u njemu, i treba da ih ispisemo... |
Evo odgovora kolega:
Posto skup ima maksimalno 255 elemenata (ne pitaj zasto) onda ides sa jednim brojacem od 1 do 255 i proveravas da li je vrednost brojaca u skupu, i ako jeste ispisujes ga
for i:=1 to 255 do if (i in skup) then write(i);
Ako treba jos nesto ozbiljnije, drzim casove paskala, c, c++, jave pa ako nekome treba neka se javi
|
|
|
|
|
|
|
|
Vi ne možete otvarati nove teme u ovom forumu Vi ne možete odgovarati na teme u ovom forumu Vi ne možete menjati Vaše poruke u ovom forumu Vi ne možete brisati Vaše poruke u ovom forumu Vi ne možete glasati u anketama u ovom forumu Vi ne možete postavljati fajlove u ovom forumu Vi ne možete preuzeti fajlove sa ovog foruma
|
|