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

poruka: 7.283
|
čitano: 1.506.708
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ah da, ja već zaboravio na onaj tekst da piše da si pokušao getline :)

Jesi li pokušao kao što ovdje piše:

string input = "";

// How to get a string/sentence with spaces

cout << "Please enter a valid sentence (with spaces):\n>";

getline(cin, input);

cout << "You entered: " << input << endl << endl;

dodati stringu kako se već zove = ""

 

edit: lool, nisi dodao

#include <string>
pokušaj s time i onda bez cin.ignore()

Avira+CIS
Poruka je uređivana zadnji put sub 7.4.2012 21:57 (njonji).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
njonji kaže...
edit: lool, nisi dodao #include <string>
pokušaj s time i onda bez cin.ignore()

Probao sam sada sa #include <string> ali nema apsolutno nikakve razlike.
getline(cin, xy) mi radi samo u kombinaciji sa cin.ignore()

Poruka je uređivana zadnji put sub 7.4.2012 21:58 (Rattner).
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

hebiga, jesi li probao sa string strName="";  na početku?

 

ako ni tada nebude radilo onda zadrži cin.ignore() šta ćeš...

Avira+CIS
Poruka je uređivana zadnji put sub 7.4.2012 22:01 (njonji).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ovako?

    string strName="";
    getline(cin, strName);
Ista stvar. Fali onaj ignore.

Postoji neki problem sa cin.ignore()? Jer s time mi radi bez greske, ja bi pustio tako.

 
0 0 hvala 0
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

Hmm, tamo u tekstu piše: It's best practice to NOT MIX the different types of input methods from cin.

 

probaj još sve cin zamijeniti sa getline, čini se da je to najbolje, ali u krajnjem slučaju će raditi i tako samo što kao oni ne preporučuju...

 

možda onda i drugo zeleno proradi ako staviš getline umjesto cin (ako ne, onda opet sa cin.ignore() prije njih)

Avira+CIS
Poruka je uređivana zadnji put sub 7.4.2012 22:10 (njonji).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
njonji kaže...

Hmm, tamo u tekstu piše: It's best practice to NOT MIX the different types of input methods from cin.

probaj još sve cin zamijeniti sa getline, čini se da je to najbolje, ali u krajnjem slučaju će raditi i tako samo što kao oni ne preporučuju...

Proguglat cu to malo {#}

Sto se tice ovog drugog zelenog, problem je sto ako napisem ovako:

    do
    {
    cout << "Print bill? <Y/N>" << endl;
    cin >> chYN;
    if(chYN == 'y' || chYN == 'Y')
    {
        cout << endl;
        Print(strName, chPackage, nHours, fPrice, nTime, nAdditional);
    }   
    else if(chYN == 'n' || chYN == 'N')
        exit (1);
    } while (chYN != 'y' || chYN != 'Y'|| chYN != 'n' || chYN != 'N');
...i kada se unese neki od tih znakova(y,Y,n,N) i dalje izvodi taj do, jednostavno zapne u toj petlji.

 

Ali to sam uspio rjesiti sa breakom:

    char chYN;
    bool bCheck = true;
    while(bCheck)
    {
        cout << "Print bill? <Y/N>" << endl;
        cin >> chYN;
        if(chYN == 'y' || chYN == 'Y')
        {
            cout << endl;
            Print(strName, chPackage, nHours, fPrice, nTime, nAdditional);
        }
        else if(chYN == 'n' || chYN == 'N')
            exit (1);
       if(chYN =='y' || chYN =='Y' ||chYN =='n' ||chYN =='N')
            break;
    }

 

 

Poruka je uređivana zadnji put sub 7.4.2012 22:51 (Rattner).
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

Stavi while(1), ne treba ti bCheck :)

Avira+CIS
Moj PC  
2 0 hvala 1
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jel može netko pomoći oko ovoga zadatka: Koristeći pokazivače, funkcije i polja napišite program koji unosi prirodan broj n, zatim niz od n elemenata. Program treba kreirati i ispisati novi niz koji će se sastojati od elemenata početnog niza čiji je indeks prost broj: 

UNOS: 6       3  61  14  -1  12  25

ISPIS: 14  -1  25 

 

Zapeo sam tu kod ispisa. Kod ispisivanja on baca neke čudne vrijednosti. Hvala unaprijed!!!

Moj PC  
0 0 hvala 0
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

Jel može netko pomoći oko ovoga zadatka: Koristeći pokazivače, funkcije i polja napišite program koji unosi prirodan broj n, zatim niz od n elemenata. Program treba kreirati i ispisati novi niz koji će se sastojati od elemenata početnog niza čiji je indeks prost broj: 

UNOS: 6       3  61  14  -1  12  25

ISPIS: 14  -1  25 

 

Zapeo sam tu kod ispisa. Kod ispisivanja on baca neke čudne vrijednosti. Hvala unaprijed!!!

Daj nam svoj kod pa da vidimo u cemu je problem. Mi nemamo moc telepatije pa da mozemo bez koda vidjeti zasto ti program "baca" cudne vrijednosti.

Twitter- @capttawish Linux/GNU live forever.
Poruka je uređivana zadnji put pon 9.4.2012 13:29 (captain_soap_McTawish).
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...
Zapeo sam tu kod ispisa. Kod ispisivanja on baca neke čudne vrijednosti. Hvala unaprijed!!!

Pretpostavljam da si zabrljao nešto oko pokazivača, možda adrese ispisuješ.

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

a ne radi mi ovaj stil kod, ne mogu uopće ništa napisat....jedino da vam dam sliku tog koda.....ispričavam se...i zanemarite ovu funkciju ispis to sam ja nešto sada brljao

slika1 slika1
slika2 slika2
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ma baš mi ne idu ti pokazivači, ali ne ispisujem adresu jer sam stavio unarni operator koji se koristi za ispis vrijednosti

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

Pa bolje da si stavio u stil spoiler, nego ove slike. {#}
Ozb. ti kažem, nemamo uvid u kod. Inače na IE ima malo više problema sa editorom.

Poruka je uređivana zadnji put pon 9.4.2012 13:38 (royalhero).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

#include<cstdlib>
#include<iostream>

using namespace std;

void unos (int, int [10]);
void prost (int, int *x, int [10]);
void ispis (int, int [10]);

int main()
{
    int n, *pn1, niz1[10], niz2[10], *pn2;
    cout<<"Unesi prirodan broj n:\n"<<endl;
    cin>>n;
    cout<<"Unesi elemente niza:\n"<<endl;
    unos(n,niz1);
    cout<<endl;
    pn1=&niz1[0];
    prost(n,pn1,niz2);
    ispis (n,niz2);
    cout<<endl;
    system("PAUSE");
    return 0;
}

void unos (int n, int niz1[10])
{
    int i;
    for (i=0; i<n; i++)
       cin>>niz1[i];
}

void prost (int n, int *pn1, int niz2[10])
{
    int i,j, prost=0;
    for (i=2; i<n; i++)
    {
       for (j=2; j<=i; j++)
       {
          if (i%j==0)
             prost++;
          else
             niz2[i]=*pn1;
       } pn1++;
    }
}

void ispis (int n, int niz2[10])
{
    int i;
    for (i=0; i<n; i++)
       cout<<niz2[i]<<"  ";
}

Moj PC  
0 0 hvala 0
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

Ovo sto ti radis mi jednostavno nema smisla. Najbesmislenije mi je kad si funkciji prost proslijedio pokazivac pn1 kao argument, a koristis samo vrijednost varijable na koju taj pokazivac pokazuje. Jednostavnije je tu proslijediti vrijednost varijable. Cijela funkcija prost je besmislena i ne razumijem sto tu radis. Molim te objasni nam svojim kako radi tvoj program tj., pa da ti kazemo gdje si pogrjesio u razmisljanju.

Twitter- @capttawish Linux/GNU live forever.
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Radiš jednu temelju grešku, novi niz koji bi trebao imati samo elemente sa pojedinih pozicija starog niza ti deklariraš kao da ima veličinu starog niza (a novi niz mora biti manji)

Dakle, moraš napraviti funkciju koja će po broju primova pozicija starog niza najprije dinamički alocirati novi niz, a onda upisati elemente sa tih pozicija.

Da od ova dva procesa napraviš jedan omogućuje ti vector container, međutim, ne znam smiješ li ga koristiti.

 
0 0 hvala 0
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

moze mi netko objasniti sortiranja?

U 1. zad trebam unijeti 5 dec. brojeva u polje i zatim ih uzlazno sortirati koristeći sortiranje izborom te ispisati u sortiranom obliku?

Ispred toga je kod kako unosim dec. brojeve u polja,a poslije ovog sortiranja je kako ispisujem elemente polja. Našao sam definiciju da kod sortiranja izborom u polju se pronalazi element s najvećom vrijednošću i on se zamjenjuje s posljednjim elementom u polju,zatim se postupak ponavlja za sve elemente osim zadnjeg,pa osim zadnjih 2 itd...

Kod štima,al dok ja sebi uvrštavam brojeve da vidim dal kužim kod ne ispada mi dobro

 

for (int b=5;b>1;b--)  
{
    int Max=0;  
    for(int c=1;c<b;c++)
      if (polje[c]>polje[Max])
    Max=c;
    float pomak=polje[b-1];
    polje[b-1]=polje[Max];
    polje[Max]=pomak; 
  }

 

  U 2. zad. ista fora,unosi se 10 brojeva al treba sortirati sa bubble sort

 

for ( int i=9; i>0 ;i--)
{

            bool zamjena=false;
            for (int j=0;j<i;j++)
          { 
              if (polje2[j]>polje2[j+1])
              {
                float pom=polje2[j];
                polje2[j]=polje2[j+1];
                polje2[j+1]=pom;
                zamjena=true;
              }
          }  
}

Sex is like Nokia (connecting people), like Nike (just do it), like Pepsi (ask for more) and like Samsung ( everyone is invited)
 
0 0 hvala 0
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

@ B3Arf00t

 

ne treba ti *pn2 uopće kao ni int prost

 

sve se to moglo i bez pokazivača riješiti ali ako baš traži da ih se koristi hebiga

01101110 01101010 01101111 01101110 01101010 01101001
Moj PC  
1 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

ma baš se traže pokazivači, funkcije i polja....moramo sve što radimo preko funkcija raditi, nemam pojma zašto profa.  to sve tako forsira....ali eto....:(

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

nemam pojma zašto profa to sve tako forsira....ali eto....:(

Mozda zato da dobro naucite i funkcije i pokazivace? Pogotovo pokazivace koji cesto zbunjuju pocetnike.

My computer once beat me at chess, but we got even after a round of boxing.
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...

Mozda zato da dobro naucite i funkcije i pokazivace? Pogotovo pokazivace koji cesto zbunjuju pocetnike.

Pogotovo referenciranje i dereferenciranje... Ali nisu oni tako ni jednostavni.

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

ekipa, a da li bi netko mogao probati rješiti mi taj zadatak, pa da ja skužim si iz toga kako se to rješava i kako pravilno koristiti pokazivače, jer imam još takvih zadataka...ja bih mu bio jako zahvalan

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

ekipa, a da li bi netko mogao probati rješiti mi taj zadatak, pa da ja skužim si iz toga kako se to rješava i kako pravilno koristiti pokazivače, jer imam još takvih zadataka...ja bih mu bio jako zahvalan

Sto taj program uopce treba raditi, ne da mi se sada analizirati kod?

My computer once beat me at chess, but we got even after a round of boxing.
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

gore sam napisao: Koristeći pokazivače, funkcije i polja napišite program koji unosi prirodan broj n, zatim niz od n elemenata. Program treba kreirati i ispisiati novi niz koji će se sastojati od elemenata početnog niza čiji je indeks prost broj.

 

UNOS:

6

3  61  14  -1  12  25

 

ISPIS:

14  -1  25

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

gore sam napisao: Koristeći pokazivače, funkcije i polja napišite program koji unosi prirodan broj n, zatim niz od n elemenata. Program treba kreirati i ispisiati novi niz koji će se sastojati od elemenata početnog niza čiji je indeks prost broj.

Jel ti odgovara ovako? Sada imas funkciju prakticki za svaku glupost :D

 

#include <cstdlib>
#include <iostream>

using namespace std;

void unos(int, int*);
void ispis(int, int*);
int prost(int);
int izdvoji(int, int*, int*);

int main()
{
    int n, i, niz1[10], niz2[10];
   
    cout<<"Unesi prirodan broj n:\n"<<endl;
    cin>>n;
    cout<<"Unesi elemente niza:\n"<<endl;
    unos(n, niz1);
   
    cout<<endl;
    i=izdvoji(n, niz1, niz2);
    ispis(i, niz2);
    cout<<endl;
   
    system("pause");
    return 0;
}

void unos(int n, int *niz1)
{
    int i;
    for (i=0; i<n; i++)
       cin>>niz1[i];
}

int prost(int broj)
{
    int n;
   
    if (broj<2)
       return 0;
   
    for (n=2; n<broj; n++)
        if (broj%n==0)
           return 0;
   
    return 1;
}

int izdvoji(int n, int *niz1, int *niz2)
{
    int i, j=0;
   
    for (i=0; i<n; i++)
    {
        if (prost(i))
        {
           niz2[j]=niz1[i];
           j++;
        }
    }
   
    return j;
}

void ispis (int n, int *niz2)
{
    int i;
    for (i=0; i<n; i++)
       cout<<niz2[i]<<" ";
}

 

A ako bas zelis komplicirati mozes funkciju "izdvoji" napisati i ovako:

 

int izdvoji(int n, int *niz1, int *niz2)
{
    int i, j=0;
   
    for (i=0; i<n; i++)
    {
        if (prost(i))
        {
           *(niz2+j)=*(niz1+i);
           j++;
        }
    }
   
    return j;
}

 

Obje rade potpuno istu stvar. Moze se tu jos dosta brljati sa pokazivacima, ako nije dovoljno zakomplicirano samo reci :D

My computer once beat me at chess, but we got even after a round of boxing.
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

eeeeee H V A A A A A A A L A A A A A A A tiiiiiiiiiii  {#}

Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
B3Arf00t kaže...

eeeeee H V A A A A A A A L A A A A A A A tiiiiiiiiiii  {#}

Čovjek ti je to uradio, nemoj da ostane na tome, uzmi pola sata i radi sa pokazivačima, probaj razne varijante, neće te kompajler pojesti. {#}

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

Molim vas za pomoć, nikako ne mogu ovo rješit. Unaprijed hvala!

1. Napiši program kojim ćeš upisati broj predmeta N, a zatim ocjene pa izračunati i ispisati srednju ocjenu.

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

Gdje zapneš?

13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
royalhero kaže...
B3Arf00t kaže...

eeeeee H V A A A A A A A L A A A A A A A tiiiiiiiiiii  {#}

Čovjek ti je to uradio, nemoj da ostane na tome, uzmi pola sata i radi sa pokazivačima, probaj razne varijante, neće te kompajler pojesti. {#}

 ma znam, imam još takvih zadataka, i to sad baš idem rješavati ;) HVALA vam ljudi :)

E-mail:
Lozinka:
 
vrh stranice