PASCAL - Zadaci, resenja, problemi, izazovi...

Ok.. Pokušao sam nešto, ali negde grešim, a nikako da ukapiram gde, zašto se elementi ne sortiraju :( Može malecki nagoveštaj? (kod je dole)


Kod:
Program domaci;
uses wincrt;
const k=10;
type
    niz=array[1..k] of integer;
    matrica=array [1..k] of niz;
var
   M:matrica;
   A:niz;
   i,j,n:integer;

procedure unosMatrice(n:integer; var M:matrica);
var
   i,j:integer;
begin
     for i:=1 to n do
     for j:=1 to n do
         readln(M[i][j]);
end;

procedure razmeni(var a,b:integer);
var t:integer;
begin
     t:=a;
     a:=b;
     b:=t;
end;

procedure sortNiz(n:integer; var X:niz);
var
   v,w:integer;
begin
     for v:=1 to n-1 do
     for w:=v+1 to n do
         if X[v]>X[w] then razmeni(X[v],X[w]);
end;

procedure ispisMatrice(n:integer; M:matrica);
var
   i,j:integer;
begin
     for i:=1 to n do
     begin
     readln;
     for j:=1 to n do
         write(M[i][j],' ');
     end;
end;

begin
writeln('Dimenzija matrice je? ');
readln(n);
writeln ('Unesi elemente matrice: ');
unosMatrice(n,M);
for i:=1 to n do
    begin
    for j:=1 to n do
    sortNiz(n,A);
    end;
ispisMatrice(n,M);
end.
 
eej ljudi ako moze mala pomoc.........ucestwujem na saveznom BiH takmicenju iz informatike (tj. programiranja)...........trebam brzo da naucim osnowe pascal-a.......kada dimenzionisem odnosno deklarisem niz (kao u basic-u DIM x(n)) mogu li da napisem owako. var niz:array [1..n] of integer;......i jos jedno pitanje...........kada napisem x:niz; jel to znaci da se elementi niza unose i obradjuju kao promenjiva x[niz] ???....hwala wam.....
 
Poslednja izmena:
Zdravo kolega!


Vidimo se na BiH takmičenju,takođe i ja učestvujem.

Pazi,ako hoćeš da praviš svoj tip podataka moraš ovo da uradiš:
Kod:
const
n=(zavisi koliko zelis clanova niza)
type
niz=array[1..n] of integer;
var
A:niz
Ovo znaci da imas niz od n,i da koristis varijablu A kao taj niz.

A mozes i ovako>
Kod:
const
n=(zavisi koliko zelis clanova niza)
var
A:array[1..n] of integer;
U principu je isto,samo sto kod ovog drugog deklarises ovaj tip podatka u mjestu za varijable.
Ja preferiram ovaj gornji,volim tako da radim.


Za ovaj drugi dio pitanja te ne razumijem bas najbolje...

Koji si bio na takmicenjima i u kom si programskom jeziku radio?
 
radio sam u basicu.......bio sam prvi na opstinskom prvi na regiji i 6 na republickom............nema veze za drugi dio pitanja..........hvala ti svakako :D........kako si ti bio na takmicenjima??.......a za ovaj prvi nacin........mogu li ja da za promjenjivu n dam neku unesenu vrijednost.......kao npr. da napisem program koji racuna aritmeticku sredinu n brojeva i zatim da ispisem elemente niza vece od aritmeticke sredine.........ae ako nije problem postavi zadatak da skontam to.....hvala jos jednom.....:D
 
Aha,evo ti kod,pa proučavaj.


Kod:
program PROG;
 type
 niz=array[1..100] of integer;
 var
 A:niz;
 i,n,zb:integer;
 p:real;
    begin
    writeln ('Broj clanova niza?');
    readln (n);
    for i:=1 to n do
     begin
     readln (A[i]);
     zb:=zb+A[i];
     end;
    p:=zb/n;
    writeln ('Prosjek niza je : ',p:0:2);
     for i:=1 to n do
      begin
      if A[i]>p then writeln ('Broj veci od prosjeka je : ',A[i]);
      end;
     readln;
     end.

Ja sam u Prijedorskoj regiji bio 5.,na republičkom podijelio od 7-mog do 12-og mjesta.

Inače,je l' znaš ti išta hoće li biti onih priprema što su govorili?
 
hvala na kodu.....u ovom slucaju uneseno n ne smije biti vece od 100.....jesam li u pravu??............ja nemam pojma sta ce biti..........prethodne generacije kazu da su zadaci za 2 ili 3 nivoa tezi.........ja sam samo uspio naci zadatke za online bhoi takmicenja...........treba li ti link???...........daj mi msn, mail, ili skype da se cujemo......hvala.....:D
 
Cao jel moze mi neko pomoc oko ovo zadatke vo Dev c++ .hvala vam unapred

Da se ucitavaju preko tastature n brojevi.za svaki od njih da se vidi jel sovrsen ili nije,ili jel prost il nije.. Da se odrede zbirove od delitelite na svaki broj ukoliko on nije savrsen. Da se odredi najveci zbir i za koj broj se odnesyva, Pri svako testiranje podatke da se upisu u datoteci sa imena dato od korisnika i sa funkcie da mogu da se procite.
 
Cao jel moze mi neko pomoc oko ovo zadatke vo Dev c++ .hvala vam unapred

Da se ucitavaju preko tastature n brojevi.za svaki od njih da se vidi jel sovrsen ili nije,ili jel prost il nije.. Da se odrede zbirove od delitelite na svaki broj ukoliko on nije savrsen. Da se odredi najveci zbir i za koj broj se odnesyva, Pri svako testiranje podatke da se upisu u datoteci sa imena dato od korisnika i sa funkcie da mogu da se procite.
 
Za DevC++

Svaki C++ je isti, a u njemu mozes da radis na dva nacina - objekno i neobjektno. Kako god da radis, prvo pitanje je:
znas li kako se zadatak resava na papiru?
Ako to znas, onda se kod lako napise, a ako ne znas, da objasnimo i algoritam


Za backtracking

Evo ti jedan: Ucitava se matrica mxn koja predstavlja lavirint. 1-zid, 0-prolaz.
Napraviti program koji ucitava matricu i nalazi put.
Doraditi da nalazi najkraci put.

Put ispisati kao niz koordinata polja kroz koja treba proci ili kao niz instrukcija oblika napred napred levo napred desno ili u obliku napred 2, skreni levo, napred 4, skreni desno

Evo i jos jedan
Ucitava se matrica mxn koja predstavlja mapu. 0-more 1-kopno.
Pronaci ostrvo sa najvecom povrsinom i ispisati povrsinu.

Varijanta 2 - 0-more 1-plaza, 2-livada, 3-suma, 4-brdo
Pronaci najvecu sumu

Ako ogranicim dimenzije na max 80x20, napravi za konzolu graficki prikaz mape, gde ce da bude naglaseno koja je povrsina najveca.

Imas u ascii tabeli specijalne znake za crtanje, pogledaj http://www.cs.utk.edu/~pham/extend_ascii_table.jpg
Space moze da bude more, 176, 177, 178 plaza, livada, suma, 239 brdo, a 219 obelezeni rezultat

Uzivaj
 

Back
Top