Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 6.5.2014, 13:57   #1
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Arrow 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
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.5.2014, 14:07   #2
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom 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...
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
ETR1 (6.5.2014)
Stara 6.5.2014, 14:23   #3
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Određen forumom 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");
}
Nisam dugo radila u dev C++ sad nesto vidim nece da mi kompajlira u C neke banalne primere saberi dva broja i tako to, izbaci citavu pricu oko greske.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.5.2014, 14:25   #4
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom 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.
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
ETR1 (6.5.2014)
Stara 6.5.2014, 15:23   #5
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Određen forumom 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.
Znaci jos samo treba da utvrdim c++ i to je donekle to.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.5.2014, 15:35   #6
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: C++ i Pascal

1. Pre 'readln(N)' stavi write('Unesite N: ');

2. Na kraju programa, pre poslednjeg 'end' stavi readln;
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 5.7.2014, 17:42   #7
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Određen forumom 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.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 5.7.2014, 23:52   #8
dsl94
Član
 
Član od: 3.8.2010.
Lokacija: Nis
Poruke: 107
Zahvalnice: 30
Zahvaljeno 8 puta na 7 poruka
Slanje poruke preko Skypea korisniku dsl94
Određen forumom Re: Pomoć oko zadatka

Citat:
ETR1 kaže: Pregled poruke
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.
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
dsl94 je offline   Odgovor sa citatom ove poruke
Stara 6.7.2014, 13:35   #9
ETR1
Banned
 
Član od: 7.9.2012.
Lokacija: Usa
Poruke: 818
Zahvalnice: 131
Zahvaljeno 151 puta na 129 poruka
Slanje poruke preko ICQ-a korisniku ETR1 Slanje poruke preko AIM-a korisniku ETR1 Slanje poruke preko Yahooa korisniku ETR1 Slanje poruke preko Skypea korisniku ETR1
Određen forumom 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.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.7.2014, 14:45   #10
dsl94
Član
 
Član od: 3.8.2010.
Lokacija: Nis
Poruke: 107
Zahvalnice: 30
Zahvaljeno 8 puta na 7 poruka
Slanje poruke preko Skypea korisniku dsl94
Određen forumom 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;
}
dsl94 je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


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


Sva vremena su po Griniču +2 h. Sada je 10:33.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com