|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
6.5.2014, 13:57 | #1 |
Banned
|
C++ i Pascal
Imam par problemcica pa da vas pitam. U jednoj zbirci imam zadatke napisane u Pascalu, u skoli nisam ucila Pascal nego C i C++ pa sam htela te zadatke iz zbirke da napisem u C++. Programe koje imam za to su Dev C++ i Dev Pascal. Problem je u tome sto na izlazu ne dobijem dobar rezultat.
Evo primera: "Napisati program koji ucitava prirodan broj N, a zatim izracunava i stampa drugu cifru C, sa leve strane broja N, koja je veca od 3. Ukoliko broj N nema dve cifre koje su vece od 3 odstampati odgovarajucu poruku. Primer: N=7326, tada je C=6." Resenje koje su oni dali je program zad6; var N,C,D:integer; begin readln(N); C:=-1; D:=-1; while N>0 do begin if N mod 10>3 then begin C:=D; D:=N mod 10 end; N:=N div 10 end; if C=-1 then writeln('ne postoji') else writeln(C) end. E ja sam to pokusala da prevedem ovako #include<iostream> using namespace std; int main() { int N,C,D; cout<<"N= "; cin>>N; C==-1; D==-1; while(N>0) { if(N%10>3) { C==D; D==N%10; } N=N/10; } if(C==-1) { cout<<"Ne postoji"<<endl; } else { cout<<endl<<"Rezultat je "<<C<<endl; } system("pause"); } I na kraju mi rezultat bude nesto 2293728, a za N unesem 7326. Drugi problem je kada ja unesem taj zadatak u Dev Pascal bas tako kako je u zbirci napisano nista ne ispisuje na ekranu. Pomozite ako znate |
6.5.2014, 14:07 | #2 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
|
Re: C++ i Pascal
Greška je što mešaš dodelu i proveru jednakosti.
U paskalu: = znači "da li je jednako" := znači "dodeli" U C/C++: == znači "da li je jednako" = znači "dodeli" Dakle u C++ primeru ne treba C==D; D==N%10; nego C=D; D=N%10; I ajde prekucaj te zadatke ali ih uokviri u CODE tagove i sa uvlačenjima, ovako se ništa ne vidi... |
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci: | ||
ETR1 (6.5.2014) |
6.5.2014, 14:23 | #3 |
Banned
|
Re: C++ i Pascal
U pravu si, sad pise da je rezultat 6. Ima jos zadataka koji nisu radili samo da ih nadjem i probam opet. Nije mi jasno zasto se u Pascalu nista ne desava, mozda u zbirci nije potpun zadatak. Sad to izgleda ovako
Kod:
#include<iostream> using namespace std; int main() { int N,C,D; cout<<"N= "; cin>>N; C==-1; D==-1; while(N>0) { if(N%10>3) { C=D; D=N%10; } N=N/10; } if(C==-1) { cout<<"Ne postoji"<<endl; } else { cout<<endl<<"Rezultat je "<<C<<endl; } system("pause"); } |
6.5.2014, 14:25 | #4 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
|
Re: C++ i Pascal
Promeni i
C==-1; D==-1; u C=-1; D=-1; Inače originalni Dev-C++ se odavno ne razvija, probaj u novoj verziji: http://orwelldevcpp.blogspot.com/ Što se tiče Paskala, probaj te primere u Free Pascalu: http://www.freepascal.org/down/i386/win32.var Jeste da izgleda kao DOS program, ali je u stvari moderan pascal kompajler koji se i dalje razvija. |
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci: | ||
ETR1 (6.5.2014) |
6.5.2014, 15:23 | #5 |
Banned
|
Re: C++ i Pascal
Probala sam da napisem taj isti zadatak u freepascal i malo mi nije pregledna situacija. Pise Running "c:\fpc\2.6.4\bin\i386-win32\broj n.exe" i ispod prazno i ja ukucam 7326 enter, a ono mi ugasi program. Tek kad opet kliknem run onda vidim da ispod 7326 pise 6.
Kod:
program zad6; var N,C,D:integer; begin readln(N); C:=-1; D:=-1; while N>0 do begin if N mod 10>3 then begin C:=D; D:=N mod 10 end; N:=N div 10 end; if C=-1 then writeln('ne postoji') else writeln(C) end. |
6.5.2014, 15:35 | #6 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
|
Re: C++ i Pascal
1. Pre 'readln(N)' stavi write('Unesite N: ');
2. Na kraju programa, pre poslednjeg 'end' stavi readln; |
5.7.2014, 17:42 | #7 |
Banned
|
Re: Pomoć oko zadatka
Zadatak: Napisati program koji rešava sledeći problem. Treba učitati dvocifreni broj. Zatim treba učitati niz jednocifrenih brojeva čija dimenzija je prethodno učitani broj. Izračunati i odštampati koliko elemenata niza zadovoljava uslov da im je proizvod cifara manji od 15. Treba vršiti kontrolu unosa i omogućiti višestruko izvršavanje programa na zahtev korisnika.
Ako neko zna da ga uradi neka slobodno napiše kod ovde. Može i u c i u c++ Uglavnom mi je problem ovaj drugi deo zadatka sa proizvodom cifara, da li treba preko funkcije ili ne i ovo višestruko izvršavanje. |
5.7.2014, 23:52 | #8 |
Član
|
Re: Pomoć oko zadatka
Ako treba da se ucita niz jednocifrenih brojeva kako onda da se pronadju oni ciji je proizvod cifara manji od 15? Po tekstu brojevi u nizu imaju samo jednu cifru
|
6.7.2014, 13:35 | #9 |
Banned
|
Re: C++ i Pascal
E to se i ja pitam, vidim da nešto ne štima u zadatku, a ne znam kako da raščlanim cifre, valjda bi išlo npr c1=a[i]/10 i c2=a[i]%10.
|
6.7.2014, 14:45 | #10 |
Član
|
Re: C++ i Pascal
Kad radis:
n%10 dobijas poslednju cifru broja n a kad radis n/10 brise sposlednju cifru, Za dvocifrene brojeve bi islo ovako: cj=n%10; cd=n/10; A ako ima broj od n cifara onda radis preko while petlje int prizvod=1; while(n>0){ c=n%10; proizvod*=c; n=n/10; } |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Pascal ..hitno! | SyoncMaster | Programiranje | 1 | 11.12.2011 3:40 |
Pascal | fast | Programiranje | 29 | 15.7.2009 20:03 |
Turbo Pascal 7 i WinXP SP3 | Svrbisha | Aplikativni softver | 3 | 4.7.2008 14:23 |
Pascal - pitanja | Cheguevara | Programiranje | 5 | 14.10.2007 13:27 |
Tutorial za Pascal | ^GOJKO^ | Programiranje | 3 | 4.12.2006 23:10 |