Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.713.106
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Broken kaže...

Može li mi itko reći za što se koristi kopirni instruktor i ako možete dati koji primjer :)

Kopirni konstruktor se koristi za slučaj deep copy tj. kada se u klasi nalaze pokazivači. Npr;

 

#include <iostream>
using namespace std;

class Student{
private:
    char* JMBG;
public:
    // konstruktor s parametrom
    Student(char* jmbg){
       JMBG = new char[11];
       strcpy(JMBG, jmbg);
    }
    // kopirni konstruktor
//    Student(const Student& s){
//       JMBG = new char[11];
//       strcpy(JMBG, s.GetJMBG());
//    }
    char* GetJMBG() const{
       return &JMBG[0];
    }
    void SetJMBG(char* noviJMBG){
       strcpy(JMBG, noviJMBG);
    }
    //destruktor
    ~Student(){
       delete JMBG;
    }
};
int main(){
    Student Ante("1122334455");
    Student Ivica = Ante;  // poziv kopirnog konstruktora!

    cout << Ante.GetJMBG() << endl;  // 1122334455
    cout << Ivica.GetJMBG() << endl; // 1122334455

    Ante.SetJMBG("6677889900");
    cout << Ante.GetJMBG() << endl;  // 6677889900
    cout << Ivica.GetJMBG() << endl; // 6677889900 ?!?! a trebao bi biti 1122334455
    return 0;
}

 

U ovom primjeru u funkciji main se poziva defaultni kopirni konstruktor koji radi shallow copy. Problem s time je da sada Ante i Ivica dijele isti pokazivač (JMBG). Iz tog razloga kada se mijenja JMBG Anti odmah se mijenja i Ivici. Da bi se to spriječilo mora se napraviti deep copy tj. napisati vlastitu implementaciju kopirnog konstruktora koji će za svaki pokazivač u klasi napraviti novu memorijsku lokaciju.

 

Kada prvi put pokreneš ovaj program izbaciti će ti kao u komentarima (isti JMBG za Antu i Ivicu), a gore (komentirano u klasi) je napisana implementacija kopirnog konstruktora koja će riješiti ovaj problem (Ivičin JMBG se neće mijenjati jer više ne dijeli pokazivač JMBG s Antom).

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put sub 24.11.2012 11:36 (TracerCPP).
14 godina
offline
Programiranje u C++-u - pitanja i odgovori

#include<stdio.h>
#include<math.h>
main(){
int a,b,z;
float arsr;
printf("\n Upisi 3 broja");
arsr=float(a+b+c)/3;
printf("\n Rezultat je %.3f,as");
}
Sad mi izbaci grešku:  error C2059: syntax error : 'type'. Nisam imao prije tu grešku,pa me zato zanima..:D

hvala unaprijed..:)

R.I.P. EnlightenedPhoenix 24.6.2011. Steve Jobs: 1955 - 2011
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Imaš više grešaka, prvo deklarisao si varijablu z, a dole računaš sa c! Onda nikako ne učitaš sa tipkovnice vrijednosti varijabli, te kada ispisuješ sa printf, argumente navodiš nakon znakovnog niza, a varijablu as nemaš nego arsr...

#include<stdio.h>
#include<math.h>
int main()
{
  int a,b,z;
  float arsr;
  printf("Upisi 3 broja\n");
  scanf("%d%d%d", &a, &b, &z);
  arsr=(float)(a+b+z)/3;
  printf("Rezultat je %.3f\n", arsr);
  return 0;
}

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav,

 

Napravio sam program za evidenciju bodovnog stanja na jednom kolegiju i svi podatci mi se spremaju u binarnu datoteku.

Sve radi ok samo imam problem sto ako netko nije unio dobre podatke iz prvog pokusaja,moze ih unositi opet ali se oni samo appendaju na kraj datoteke sto mi na kraju rezultira pogresnim zbrojem bodova na kraju jer se isti unos javlja vise puta.


Kako bih mogao riješiti ovu situaciju tako da mi se prilikom ponovnog unosa istog podatka ,podatak koji je bio na njegovom starom mjestu izbriše i zamjeni novim ?

 

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ako koristiš binarnu datoteku to onda znači da zapisuješ blokove (strukture) jednakih veličina. Tada se trebaš pozicionirati na početak tog bloka (zapisa) i prepisati ga, a ne dodati ga na kraj datoteke. Zato obično ti blokovi tj. strukture sadrže jedan podatak koji govori gdje se taj zapis nalazi u datoteci. Npr.

 

struct Artikl{
    int sifra;  // sifra artikla je zapravo redni broj tog zapisa u datoteci
    char naziv[50];
    float cijena;
};

Ako se unosi novi artikl onda on ide na kraj datoteke (append), ali ako se želi prepraviti postojeći artikl onda se pozicionira ispred njega. Npr. za artikl sa šifrom 995:

 

fseek(pFile, sizeof(struct Artikl)*(995-1), SEEK_SET); // -1 zbog vraćanja na početak traženog bloka
fwrite....   // prepiši trenutni blok

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da, sve to stoji ali ja nemam neki atribut po kojem bih mogao odrediti redni broj zapisa tj koji bi mi bio kljuc, imam samo strukturu s tjednom i bodovima i statusom(vjezba,lab,sem).

Ovaj slucaj s ovim vracanjem funkcionira samo ako je element koji prepravljamo posljednji unesen ?

 

Da li bih mogao nekako "umjetno" napraviti sifru koja se racuna po nekom kljucu da za odeđeni tjedan i status uvijek dobivam istu vrijednost ?

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Onda si krivo napravio strukturu na samom početku. Možeš prepraviti situaciju tako da čitaš iz trenutne binarne datoteke po staroj strukturi a zapisuješ u novu binarnu datoteku po novoj strukturi u kojoj ćeš još dodati šifru tj. redni broj. Tada ćeš u novoj binarnoj datoteci pomoću tog podatka moći odjednom se pozicionirati na bilo koji zapis (blok) u datoteci. Primjer sam ti već gore dao.

 

Što se tiče ključa, to može biti redni broj zapisa. Nešto kao autonumber u bazi podataka. Možeš ga generirati automatski u obliku: trenutna_velicina_datoteke/velicina_jednog_bloka. Nešto kao:

 

fseek(f, 0, SEEK_END); // odi na kraj datoteke
double velicina = ftell(f);
redni_broj = velicina / sizeof(struct NekaStruktura);

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put sub 24.11.2012 22:02 (TracerCPP).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Imam zadatak da od konstuktora napravim inline funkciju kako se jos s ovim nisam susretao zanima me koje su mane i prednosti inline funkcija i za što općenito ona služi za što se koristi?

 

Ja sam stavio to ovako:

 

inline Konstruktor::Konstruktor(double r)

 

Gledao sam po netu neke primjere uvijek pise da ta funkcija mora imati svoj tip, ali kada ovdje stavim inline double Konstruktor(double r) javlja mi gresku ?

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Konstruktor ne može imati povranu vrijednost. Ako hoćeš da bude inline onda njegovo tijelo napiši unutar same definicije klase. Detaljnije o inline ima par stranica prije:

http://www.bug.hr/forum/topic/programiranje/programiranje-c-pitanja-odgovori/98845.aspx?page=114&jumpto=3268949&sort=asc&view=flat

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Imam zadatak koji trebam rijesiti, no ne znam ni kako poceti....nemam nikakvu ideju u C++ trebam napisati program koji ce ispisati riječi nekog teksta jednu po jednu (u nekom vremenskom intervalu, koji moram ja odrediti, a ne znam kako) na sredini ekrana.
HINT: svaka riječ odvojena je razmakom!  

Hvala na razumijevanju!

poOZz 

Svaki sat ranjava, zadniji ubija!
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Maxy kaže...

(u nekom vremenskom intervalu, koji moram ja odrediti, a ne znam kako)

Funkcija: Sleep, header: "windows.h"

0xBADC0DE
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Maxy kaže...

Imam zadatak koji trebam rijesiti, no ne znam ni kako poceti....nemam nikakvu ideju u C++ trebam napisati program koji ce ispisati riječi nekog teksta jednu po jednu (u nekom vremenskom intervalu, koji moram ja odrediti, a ne znam kako) na sredini ekrana.
HINT: svaka riječ odvojena je razmakom!  

Hvala na razumijevanju!

poOZz 

Ovisi koji OS. Ali u principu koristis biblioteke vezane uz OS.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Da li ja na pocetku programa mogu definirati varijable kao a,b,c,d,e,A,B,C,D,E ?

tipa int main ()
{
int a,b,c,A,B,C

ovdje je primjer samo sa ta tri slova, jer imam toliko varijabli u programu da sam iscjedio svu abecedu, što onda radim?
R.I.P. EnlightenedPhoenix 24.6.2011. R.I.P. Steve Jobs 6.10.2011. 1955. - 2011.
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mitch kaže...
Da li ja na pocetku programa mogu definirati varijable kao a,b,c,d,e,A,B,C,D,E ?

tipa int main ()
{
int a,b,c,A,B,C

ovdje je primjer samo sa ta tri slova, jer imam toliko varijabli u programu da sam iscjedio svu abecedu, što onda radim?

Cek, ti to ozbiljno ili?

 

EDIT: Odgovor na prvo pitanje, mozes. C/C++ je case-sensitive jezik. Nastavak odgovora, a ujedno i odgovor sljedece pitanje: nemoj to raditi. Varijable moraju imati opisna imena, da se iz njih zna sto je varijabla i cemu sluzi. Tipa, zelis napraviti program koji zbraja i oduzima kompleksne brojeve. Kompleksan broj se sastoji od realnog i imaginarnog dijela. Ti mozes u svojem programu napisati za realni i imaginarni dio: int a, int b - ali nemoj, jer to su bezvezna genericka imena koja nista ne predstavljaju i iz kojih se nista ne moze iscitati. Varijable koje ce ti predstavljati realni i imaginarni dio nazvat ces npr. int realniDio, int imaginarniDio -> iz ovoga se odmah kuzi cemu varijable sluze bez da gledas dalje po kodu. Ali opet, nemoj pretjerivati, nemoj nazivati varijable ovako nekako: mojaVarijablaKojaSluziKaoKoeficijentKojimSeRacunaNeZnamSto -> ovo opet nema smisla. Dakle, imena moraju biti sto jasnija i jezgrovitija, ako su potrebna dodatna objasnjenja o varijabli, tome sluze komentari.

 

Kako se uopce mozes snaci u tom svom programu gdje imas 25 varijabli imena a, b, c, d, e...?

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
Poruka je uređivana zadnji put uto 27.11.2012 0:41 (1domagoj1).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

U pravu je Domagoj, bude mi muka kada u kodu vidim varijable a, b, c, d... Fino nazovi varijablu prema onome cemu sluzi, npr. umnozak i mnozitelj, a ne a i b...

 

BTW, ako su ti neke varijable istog tipa koristi polja, sumnjam da ti treba 30!? varijabli.

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mitch kaže...
Da li ja na pocetku programa mogu definirati varijable kao a,b,c,d,e,A,B,C,D,E ?

ovdje je primjer samo sa ta tri slova, jer imam toliko varijabli u programu da sam iscjedio svu abecedu, što onda radim?

Možeš, ali nemoj. Potreba za tolikim brojem varijabli je znak da nešto radiš pogrešno. Vjerojatno ili ne koristiš polje negdje gdje bi trebao, ili nisi razbio kod na manje logičke cjeline (funkcije), pa si načinio jednu megafunkciju koja radi svašta.

 

Možemo li vidjeti tu monstruoznu funkciju kojoj za rad treba toliko varijabli?

 

Bilo kako bilo, nemoj koristiti jedno slovo za imenovanje varijabli. Jer ako kod nije super jednostavan brzo ćeš se pogubiti. Sad ti je možda još i jednostavno sve to pratiti dok si svjež, ali zamisli kada budeš čitao taj isti kod nakon par mjeseci.

0xBADC0DE
Poruka je uređivana zadnji put uto 27.11.2012 1:14 (rustweaver).
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Dali netko zna rješenje Vama vjerojatno vrlo jednostavnih zadataka..??

Zadataci su zapravo namijenjeni za ispit a ne za rad u programu..

Bila bih vrlo zahvalna kad bi mi netko pomogao... :)))

 

zadatak..

 

Napiši program koji omogučuje unos jednog cjelobrojnog broja te nakon toga program treba izračunati faktorijel unesenog broja korištenjem FOR petlje.

Faktorijel nekog broja n se računa na način da se pomnože svi brojeni od 1 do n.!

 

 

 i ovakav zadatak..

 

Napiši program koji će dinamički alocirati prostor za polje od N varijabli tipa float. Broj N unosimo sa tipkovnice. Unutar WHILE petlje postaviti vrijednost članova polja od 1 do N sa tipkovnice, a po izlasu iz while petlje dealocirati memorijski prostor. Zaštitu od pokušaja alokacije prevelike količine memorije osigurati mehanizmom try- catch.

 

 
0 0 hvala 0
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...

U pravu je Domagoj, bude mi muka kada u kodu vidim varijable a, b, c, d... Fino nazovi varijablu prema onome cemu sluzi, npr. umnozak i mnozitelj, a ne a i b...

 

BTW, ako su ti neke varijable istog tipa koristi polja, sumnjam da ti treba 30!? varijabli.

Problem je u tome sto trebam radit operacije sa satima i minutama kojih je navedeno preko 15, ja sam njih pretvorio u minute kako bi lakse vrsio operacije a kod printa ih mnozio sa 60 nazad.

 

Znaci pitanje je takvo da ja u programu imam upisane vrijednosti za varijable.

Korisnik upise tu varijablu (preko scanf) i ja bi sad trebao nekako oznaciti njenu vrijednost koja je vec u programu, u pozadini izvrsiti operacije s njom i nazad ispisati rjesenje?

 

On upise 9 (uvijek brojem), a meni u programu treba bit oznaceno da je 9=540 i onda mu on recimo ispise 540.

 

Znam da je ful jednostavno, al nemam nesto vremena za razmisljanje (a i skroz sam nov u ovome)

R.I.P. EnlightenedPhoenix 24.6.2011. R.I.P. Steve Jobs 6.10.2011. 1955. - 2011.
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Freddye kaže...

Dali netko zna rješenje Vama vjerojatno vrlo jednostavnih zadataka..??

Zadataci su zapravo namijenjeni za ispit a ne za rad u programu..

Bila bih vrlo zahvalna kad bi mi netko pomogao... :)))

 

zadatak..

 

Napiši program koji omogučuje unos jednog cjelobrojnog broja te nakon toga program treba izračunati faktorijel unesenog broja korištenjem FOR petlje.

Faktorijel nekog broja n se računa na način da se pomnože svi brojeni od 1 do n.!

 

 

 i ovakav zadatak..

 

Napiši program koji će dinamički alocirati prostor za polje od N varijabli tipa float. Broj N unosimo sa tipkovnice. Unutar WHILE petlje postaviti vrijednost članova polja od 1 do N sa tipkovnice, a po izlasu iz while petlje dealocirati memorijski prostor. Zaštitu od pokušaja alokacije prevelike količine memorije osigurati mehanizmom try- catch.

 

Što ti je nejasno sa faktorjelom, samo iskoristiš indekse petlje for za izračun. 

Dakle:

for(int indeks = 1; indeks <= n; indeks++)

   fakrorjel *= indeks;

 

 

Prethodno inicijaliziraš varijablu faktorjel na 1 (radi množenja).

 

Ovaj drugi je dinamička alokacija polja.

Dakle:

 

1. uneseš n koji predstavlja veličinu polja

2. dinamički alociraš polje float* polje = new float[n] veličine n

3. kroz while petlju unosiš vrijednosti u polje

while(brojac < n)

{

    cin>> polje[brojac++];

}

Varijablu int brojac prethodno inicijaliziraš na 0.

4. dealociraj memoriju delete [] polje;

 

Ovu alokaciju iz točke 2. stavi u try-catch blok

try

{

    alokacija

}

catch

{

   cout<< "Alokacija nije uspjela" << endl;

   return 1; // izlaz iz programa jer alokacija nije uspjela

}

 

Poruka je uređivana zadnji put uto 27.11.2012 13:04 (Floki).
12 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav. Imam jedno pitanje samo da mi pojasnite situaciju. Zadatak glasi: napisati program koji ispituje da li je broj savršen. Broj je savršen ako je jednak zbroju svojih djeljitelja, npr: 28 = 1 + 2 + 4 + 7 + 14. Ispituju se brojevi do 10 000.

 

Program koji sam napisao izgleda ovako :

    int rez = 0;
    for (int i = 1; i <= 10000; ++i){
      
       for (int j = 1; j < i; ++j){
      
          if (i % j == 0){
          rez = rez + j;
          }         
       }
       if (rez == i)
          cout << i << endl;
    }

 

Program nije radio, te sam pogledao u rješenja. U rješenju je varijabla rez unutar prve for petlje:

or (int i = 1; i <= 10000; ++i){
      int rez = 0;
       for (int j = 1; j < i; ++j){
      
          if (i % j == 0){
          rez = rez + j;
          }         
       }
       if (rez == i)
          cout << i << endl;
    }

 

E sad ne mogu skužit zašto mora biti unutar prve for petlje, a ne izvana? Zar nije svejedno?

Hvala {#}

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Kada ti izadje iz unutarnje petlje rez ti se ne resetira na 0 u gornjem kodu. I onda kada racunas rez=rez+j imas rez od predhodnog prolaza vec u rez.

 

Ovako napamet :)

17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ti u stvari vanjskom petljom računaš za brojeve od 1-10000 da li su savršeni, a unutarnja petlja vrši izračun za pojedini broj vanjske petlje, dakle, svaki put kad vanjska petlja ide u iteraciju, to znači da računaš za novi broj da li je savršen ili nije, a zato moraš resetirati varijablu rezultat na 0 - za svaki novi broj, novi izračun.

 
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Puno hvala, u pitanju je ispit pa me zanimalo mišljenje profesionalca :), kako imam jako malo znanja iz programiranja ne pouzdam se u vlastitu improvizaciju glede određenih zadataka..

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Freddye kaže...

Puno hvala, u pitanju je ispit pa me zanimalo mišljenje profesionalca :), kako imam jako malo znanja iz programiranja ne pouzdam se u vlastitu improvizaciju glede određenih zadataka..

nisi valjda na ispitu sad?{#}

Ma who cares, bila si kulturna, lipo mi zahvalla, pa ćeš dobit bonus:

 

#include<iostream>
using namespace std;


int main()
{
    int broj, faktorjel = 1;
    cin>> broj;
    for (int i = 1; i <= broj; i++)
    {
       faktorjel *= i;
    }
    cout<<    faktorjel << endl;
    return 0;
}

 

 

#include<iostream>
using namespace std;


int main()
{
    int n, brojac = 0;
    float* polje;
    cin>> n;

    try
    {
       polje = new float[n];
    }
    catch (bad_alloc&)
    {
       cout<< "Alokacija nije uspjela" << endl;
    }
    while(brojac<n)
    {
       cin>> polje[brojac++];
    }
    delete [] polje;
    return 0;
}

 

Poruka je uređivana zadnji put uto 27.11.2012 14:38 (Floki).
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

naravno da nisam na ispitu.. {#}  ali se bliži ispit pa ispitujem sitnice koje me bune.. nadam se da ćeš odvojiti još koju minuticu (oćigledno u tvom slučaju sekundicu) vremena da mi pomogneš oko još kojeg .., ako bude potrebno?!{#}

17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
neznam123456 kaže...

Pozdrav. Imam jedno pitanje samo da mi pojasnite situaciju. Zadatak glasi: napisati program koji ispituje da li je broj savršen. Broj je savršen ako je jednak zbroju svojih djeljitelja, npr: 28 = 1 + 2 + 4 + 7 + 14. Ispituju se brojevi do 10 000.

 

Program nije radio, te sam pogledao u rješenja. U rješenju je varijabla rez unutar prve for petlje:

or (int i = 1; i <= 10000; ++i){
      int rez = 1;
       for (int j = 2; j <= i/2; ++j){
      
          if (i % j == 0){
          rez = rez + j;
          }         
       }
       if (rez == i)
          cout << i << endl;
    }

 

E sad ne mogu skužit zašto mora biti unutar prve for petlje, a ne izvana? Zar nije svejedno?

Hvala {#}

 

Inače, matematički je ovo dovoljno, broj ima djeljitelj jedini jedan ako je prim, ako mu je dva djeljitelj pretraga ide na pola i može biti samo manja.

Ako je 28 u pitanju, pretraga ne treba ići dalje od 14 - svaki djeljitelj veći od 2 daje manji kvocijent od 14, odnosno broj 28 ne može imati djeljitelj veći od 14, osim samog sebe.

Poruka je uređivana zadnji put uto 27.11.2012 15:35 (Floki).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mitch kaže...

Problem je u tome sto trebam radit operacije sa satima i minutama kojih je navedeno preko 15, ja sam njih pretvorio u minute kako bi lakse vrsio operacije a kod printa ih mnozio sa 60 nazad.

 

Znaci pitanje je takvo da ja u programu imam upisane vrijednosti za varijable.

Korisnik upise tu varijablu (preko scanf) i ja bi sad trebao nekako oznaciti njenu vrijednost koja je vec u programu, u pozadini izvrsiti operacije s njom i nazad ispisati rjesenje?

 

On upise 9 (uvijek brojem), a meni u programu treba bit oznaceno da je 9=540 i onda mu on recimo ispise 540.

 

Znam da je ful jednostavno, al nemam nesto vremena za razmisljanje (a i skroz sam nov u ovome)

Postaj kod koji imas zasad pa cemo ga analizirati i predloziti alternativno rjesenje.

The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. --Damian Conway
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

#include <stdlib.h>

#include <stdio.h>

int main ()

{

     int a,b,c,d,e,f,g,h,i,A,B,C,D,E,F,G,H,j,k,l,m,n,o,p,q,r,s,t,u;

     scanf("%d %d %d",&j,&k,&l);

     scanf("%d %d %d",&m,&n,&o);

     scanf("%d %d %d",&p,&q,&r);

     scanf("%d %d %d",&s,&t,&u);

     if (k=1||2||3||4||5||6||7||8||9)

     {

     a=1;

     a=540;

     b=2;

     b=570;

     c=3;

     c=600;

     d=4;

     d=630;

     e=5;

     e=660;

     f=6;

     f=690;

     g=7;

     g=720;

     h=8;

     h=750;

     i=9;

     i=780;

     }

     if (l=A||B||C||D||E||F||G||H)

     {

     A=810;

     B=840;

     C=870;

     D=900;

     E=930;

     F=960;

     G=990;

     H=1020;

     }

     if(j<=9)

     printf("$%d",((l-k)/60) *10);

     system("pause");

     return 0;

}

 

ova zadnja petlja je da ako je j manji od 9, onda slijedi ovo iz printa

R.I.P. EnlightenedPhoenix 24.6.2011. R.I.P. Steve Jobs 6.10.2011. 1955. - 2011.
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

WTF!?, pojma nemam šta bi ovaj program trebao raditi, niti me zanima, ali ovi ifovi ti neće raditi kako spada, == je operator poređenja dok je = operator pridruživanja.

Ne možeš jednom navesti varijablu, zatim || i provjeravati, nego svaki put posebno.

Šta nije bilo lakšte umjesto:
int a,b,c,d,e,f,g,h,i,A,B,C,D,E,F,G,H,j,k,l,m,n,o,p,q,r,s,t,u;
napisati:

int polje[30];
?

15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
Mitch kaže...
Mitch kaže...

  Mislim da bi bilo najbolje da ti ovdje das cijeli zadatak, tj. tocno ono sto zelis postici. Tek tada cemo ti moci precizno reci sto da cinis.

 

Jedino sto ti sada mogu reci je da naucis osnove c/c++-a, jer je ovaj kod sto si dosada dao stvarno grozan.

I would love to change the world, but they won't give me the source code
E-mail:
Lozinka:
 
vrh stranice