Sorry. Mogu ti pomoći ali ne i dati gotovo rješenje. Ovo su zaista početnički zadaci koje bi se trebao potruditi da napraviš sam. Već ti je gore sve opisano kako to treba izgledati. Samo se razmisli i već ćeš rješiti.
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Ama govorim ti...
Sve sam uradio tacno i nece opet :D
stavi taj code ovdje pa da vidimo
Ajde molim te pomozi..
#include <iostream>
using namespace std;
int main()
{
int i,n,s1,s2,r1,r2;
cout<<"Unesi broj"<<endl;
cin>>n;
s1=0;
s2=0;
for (i=1;i<n;i++) ;
if (i%2==0) s1=s1+i;
if (i%2==1) s2=s2+i;
r1=s1-s2;
r2=s2-s1;
if (s2 > s1) {
cout<<"Suma neparnih je veca za "<<r2<<endl;}
if (s1 > s2) {
cout<<"Suma parnih veca je za "<<r1<<endl;}
return 0;
}
Samo rec sta treba ispravit :D
Ajde napisi..Odo za 10 min.
for (i=1;i<n;i++) ;
Ovako na prvi pogled, greška je ovdje. Trebalo bi to izgledati nekako ovako:
for(i = 1; i <= n; i++){
.
.
.
}
Nece ni tako..
Nema veze..
Pozdrav
Petlja ne radi ništa, samo primjeni @Tracerov algoritam i radit će.
Ti si u stvari pridružio indeksu i vrijednost n-1, pa onda s njim radio izračune.
Uostalom, što će ti varijable r1 i r2. Samo staviš:
if(sumaParnih > sumaNeparnih)
{
cout<< sumaParnih - sumaNeparnih;
}
else
{
cout<< sumaNeparnih - sumaParnih;
}
I za if grananje kod provjere parnosti indeksa i koristi if-else grananje.
Daj varijablama logična opisna imena, pa će ti biti lakše raditi.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
int i,n,s1,s2,r1,r2,k;
cout<<"Unesi broj"<<endl;
cin>>k;
cout<<"Unesi drugi broj"<<endl;
cin>>n;
s1=0;
s2=0;
for (i=k;i<=n;i++)
if (i%2==0) s1=s1+i;
else
if (i%2==1) s2=s2+i;
r1=s1-s2;
r2=s2-s1;
if (k == n) {
cout<<"Nema razlike"<<endl;}
else
if (s1 > s2) {
cout<<"Zbir parnih brojeva je veci za "<<r1<< " od zbira neparnih brojeva." <<endl;}
else
if (s2 > s1) {
cout<<"Zbir neparnih brojeva je veci za "<<r2<< " od zbira parnih brojeva."<<endl;}
system("PAUSE");
return 0;
}
EVO URADIO SAM....
Nisi uradio. Fale vitičaste zagrade poslije for petlje, kao što sam ti gore napisao.
Dobro, a sto je to s tom tvojom for petljom, nikak mi nije jasno?! Jel ti shvacas pojmove kao sto su indentacija i blokovi npr.?
Koristi u editoru stil "kod" (kliknes gore na Stilovi, stisnes Kod i onda pasteas tu), indentiraj, odvajaj blokove s viticastim zagradama "{}", ako se u pocetku ne naucis, kad ces se?
A šta ti označavaju s1, s2, da je malo veći program izgubio bih se u tim varijablama, ili barem postavi komentar kraj koda gdje deklarišeš varijablu!
Zašto se ne učiš urednosti?, zagrade?, uvlačenje?, puno toga tebi fali, nisi naučio osnovnu sintaksu naredbi, a učiš naprijed, neide to tako!
Budeš li previše pilo po forumima...
EVO URADIO SAM....
Brutala čovječe. Velim ti - počni stavljati razmake na prava mjesta pa ćeš prije i lakše uočiti greške. Znači, tvoj kod bi trebao izgledati ovako nekako:
/////////////////////////////////////////////
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
int i,n,s1=0,s2=0,r1,r2,k;
cout<<"Unesi broj"<<endl;
cin>>k;
cout<<"Unesi drugi broj"<<endl;
cin>>n;
for (i=k;i<=n;i++) {
if (i%2==0) s1=s1+i;
else if (i%2==1) s2=s2+i;
}
r1=s1-s2;
r2=s2-s1;
if (k == n) {
cout<<"Nema razlike"<<endl;
}
else if (s1 > s2) {
cout<<"Zbir parnih brojeva je veci za "<<r1<< " od zbira neparnih brojeva." <<endl;
}
else if (s2 > s1) {
cout<<"Zbir neparnih brojeva je veci za "<<r2<< " od zbira parnih brojeva."<<endl;
}
system("PAUSE");
return 0;
}
/////////////////////////////////////////////
Da bude još malo pregledniji, mogao bi ukloniti vitičaste zagrade u svim ovim if/else-ifovima u kojima imaš samo jednu naredbu, znači:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
int i,n,s1=0,s2=0,r1,r2,k;
cout<<"Unesi broj"<<endl;
cin>>k;
cout<<"Unesi drugi broj"<<endl;
cin>>n;
for (i=k;i<=n;i++) {
if (i%2==0) s1=s1+i;
else if (i%2==1) s2=s2+i;
}
r1=s1-s2;
r2=s2-s1;
if (k == n) cout<<"Nema razlike"<<endl;
else if (s1 > s2) cout<<"Zbir parnih brojeva je veci za "<<r1<< " od zbira neparnih brojeva." <<endl;
else if (s2 > s1) cout<<"Zbir neparnih brojeva je veci za "<<r2<< " od zbira parnih brojeva."<<endl;
system("PAUSE");
return 0;
}
////////////////////////////////////////
Također, desnu vitičastu zagradu stavljaju u novi red, da se odmah vidi gdje blok naredbi završava.
A gdje je stil "Kod"?.
A gdje je stil "Kod"?.
U Chromeu nije.
(pocetnik sam još) :D
(pocetnik sam još) :D
Aj malo prelistaj, postove iznad!
printf i scanf su funkcije iz stdio biblioteke, standardne za C, a cout i cin su objekti klase IOstream.
To nije isto, ako radiš u C++, po standardu je iostream, ali možeš uključiti i C-ov lib, tako da staviš slovo "c" ispred njega, znači "cstdio", dok u C-u "stdio.h".
COPY/PASTE mog prijašnjeg posta:
Pazi, Cout je objekt klase ostream, znaš da na početku uključiš iostream, Cout se koristi za C++ jer C je proceduralni jezik.
Primjer:
#include<iostream>
int main(){
const float pi=3.14;
std::cout<<"Hello World!"<<endl;
std::cout<<pi<<endl;
return 0;
}
Printf je funkcija, koja za argumente prima znakovni niz i formatirane varijable, koristi se za C i C++, uključiš stdio.h/cstdio.
Formati:
%d integer
%f float
%s string
%p pointer adress
%o octal
%c char
Primjer:
#include<stdio.h>
int main(){
int a;
float b;
printf("Hello World!\n");
printf("%d \n %f", a, b)
return 0;
}
Nadam se da si približno shvatio.
(pocetnik sam još) :D
Funkcije printf i scanf su iz C-a, objekti cout i cin su iz C++-a.
Ne kužim zašto ubacuje dva parametra u kod
zadatak traži sumu parnih i neparnih u intervalu 1 - n, ne od k - n.
@Intelovac, zašto neinicijaliziraš varijablu i unutar petlje, tu mogućnost imaš od C++ a.
@Intelovac, zašto neinicijaliziraš varijablu i unutar petlje, tu mogućnost imaš od C++ a.
Onda bi se inicijalizirala za svaku iteraciju petlje - a treba samo jedan put (prije petlje).
for(int i=0; i<=n; i++){}
?
Aha.. mislio sam da je riječ o varijablama za sumu. Ovaj "i" sam krivo pročitao .
Međutim, on je u petlji inicijalizirao "i" na vrijednost "k".
for(i = k; ...)
Aha.. mislio sam da je riječ o varijablama za sumu. Ovaj "i" sam krivo pročitao .
Međutim, on je u petlji inicijalizirao "i" na vrijednost "k".
for(i = k; ...)
Brijem da je umjesto "inicijaliziraš" htio reći deklariraš (ili "deklariraš i inicijaliziraš"). I nezgodan je izraz "u petlji", što si i sam komentirao (tj. bilo bi to u slučaju varijable i, ali problematičan je taj izraz i u slučaju suma, jer inicijaliziranje u petlji baš i nema smisla) - bolje bi bilo reći "kod ulaska u petlju", jer "u petlji" se odnosi na naredbu iza okruglih zagrada.
for (kod_ulaska_u_petlju) u_petlji;
Dakle, trebao je reći ovo:
@Intelovac, zašto ne deklariraš varijablu i kod ulaska u petlju, tu mogućnost imaš od C++ a.
@royalhero - kad nekome nešto pokušavaš objasniti ili ga naučiti, treba biti jako pažljiv - treba biti jako precizan i znati što točno si rekao, jer inače to ispadne zbunjujuće i često pogrešno. Drugim riječima, trebaš razumijeti što znače riječi koje si napisao. Nadam se da ti je jasna razlika između onog što si ti napisao i onog što sam ja napisao.
Nadam se da ti je jasna razlika između onog što si ti napisao i onog što sam ja napisao.
Naravno, ali u nepažnji sam tako rekao, znaš na šta sam mislio, mislio sam da i @intelovac zna na šta mislim...
On je mislio jedno, ja mislio drugo, a tko zna tek što je autor pitanja na kraju shvatio
a tko zna tek što je autor pitanja na kraju shvatio
Ni on ;), da je malo uredniji u kodu lakše bi mu bilo.
Ni on ;), da je malo uredniji u kodu lakše bi mu bilo.
Ja da predajem programiranje, svi bi prvo morali nauciti lijepo pisati kod. Pod OBAVEZNO. Ponudio bih par stilova i preporucio jedan, ali da ipak mogu odabrati koji zele te se njega konzistentno drzati, a ne u istom kodu malo jedno malo drugo. Sve varijable obavezno imenovati smislenim imenima. Ako je kod nesto kompliciraniji, tj. nije ocito odmah sto radi, kratak komentar, ali ne tipa "for petljom inkrementiramo brojac" jer je to dovraga, ocito iz same petlje.
Za ruzan, nekonzistentan kod bih skidao bodove, bez pardona. ;)
Hvala Bogu, pa sam programiranje učio prije srednje, kod nas profesor koristi Turbo C++, iostream.h,...