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

poruka: 7.285
|
čitano: 1.722.631
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nisam kopirao niciji kod samo sam umjesto onog ubacio ovo njegovo i nije htjelo i ja onda kopiram njegov kod kad ono hoce ..

 

Ne znam zasto {#}

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sta mi u programu ne valja?

Program treba da ispisuje cifre bilo kojeg broja?

 

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
    int i,n,k,niz[100];
    cout<<"Unesi N"<<endl;
    cin>>n;
    while (n>0) {
        k=1;
        niz[k]=n%10;
        n=n/10;
        k=k+1;
    }
    for (i=k-1;i<1;i--)
    {
    cout<<niz[i]<<endl;
    }
    system ("PAUSE");
    return 0;
}

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Greška je u tome što k inicijaliziraš unutar while petlje. Tako će svaki put kad uđeš u while k postati 1 i znamenka će se spremiti na niz[1].

 

k=0 treba ići izvan while petlje, a i ovaj ispis mi malo smrdi :D Uvjet bi trebao biti i>=0, a ne i<1 koliko mi se čini :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Poruka je uređivana zadnji put pet 27.4.2012 8:48 (Luuka).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Luuka kaže...

Greška je u tome što k inicijaliziraš unutar while petlje. Tako će svaki put kad uđeš u while k postati 1 i znamenka će se spremiti na niz[1].

 

k=0 treba ići izvan while petlje, a i ovaj ispis mi malo smrdi :D Uvjet bi trebao biti i>=0, a ne i<1 koliko mi se čini :D

Hvala sad radi.

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

http://bhoi.net/Zadaci/JBHOI%202009/tablica.pdf

 

Da li neko zna kako da napravim ovu tablicu u ispisu ali bez koristenja grafike..Broj isprekidanih ctrica se povecava sa brojem cifara broja ..

 

Brojeve lako izracunam ali ne znam kako tablicu napravit?

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pretvori brojeve iz zadnjeg reda u stringove i odredi koliko ima znakova u kojem. Na te brojeve dodaj 2 za lijevo i desno prazno mjesto. I tek nakon toga kreni u ispisivanje svega s tim da svaki broj u određenom stupcu mora zauzeti traženi broj mjesta s desnim poravnanjem.

IssLand
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ima li neko da bi mi kupio Demistificirani C++ 3. izdanje ,pa poslao ...

 

Ja bi uplatio pare u banku ;)

 

Moze li se iz Elementa naruciti direktno u BiH posto su ovi distributeri za BiH govna velika .

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

http://bhoi.net/Zadaci/JBHOI%202009/tablica.pdf

 

Da li neko zna kako da napravim ovu tablicu u ispisu ali bez koristenja grafike..Broj isprekidanih ctrica se povecava sa brojem cifara broja ..

 

Brojeve lako izracunam ali ne znam kako tablicu napravit?

Pokušavao sam poslati odgvovor na ovu poruku i kod koji recimo crta tablicu množenja pomoću petlji sali jednostavno mi ne prihvaća poslani kod iako sam ga milion puta formatirao kao običan tekst i sad sam doslovno po....io!!!!   Tako da odustajem ,ne znam da li je u forumu greška ili gdje već ,katastrofa mi se digao tlak {#}{#}{#}

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

http://bhoi.net/Zadaci/JBHOI%202009/tablica.pdf

 

Da li neko zna kako da napravim ovu tablicu u ispisu ali bez koristenja grafike..Broj isprekidanih ctrica se povecava sa brojem cifara broja ..

 

Brojeve lako izracunam ali ne znam kako tablicu napravit?

#include <cstdio>
void linija(int broj, int kvadrat, int kub) {
    int i;

    printf("+");
    for(i=0; i<broj+2; i++)
        printf("-");
    printf("+");

    for(i=0; i<kvadrat+2; i++)
        printf("-");
    printf("+");

    for(i=0; i<kub+2; i++)
        printf("-");
    printf("+\n");
}

int main () {
    int prvi, zadnji, pom, i;
    int broj = 0, kvadrat = 0, kub = 0;

    do {
        scanf("%d %d", &prvi, &zadnji);
    } while(prvi < 1 || prvi > 100 || zadnji < 1 || zadnji > 100 || prvi > zadnji);
    printf("\n");

    pom = zadnji;
    while(pom != 0) {
        pom /= 10;
        broj++;
    }

    pom = zadnji*zadnji;
    while(pom != 0) {
        pom /= 10;
        kvadrat++;
    }

    pom = zadnji*zadnji*zadnji;
    while(pom != 0) {
        pom /= 10;
        kub++;
    }

    linija(broj, kvadrat, kub);
    for(i=prvi; i<=zadnji; i++) {
        printf("| %*d | %*d | %*d |\n", broj, i, kvadrat, i*i, kub, i*i*i);
        linija(broj, kvadrat, kub);
    }

    return 0;
}

 

Ako će biti kakvih nejasnoća u vezi koda, pitaj.

 

P.S. - ne znam jesam li dobro includeao library pošto programiram u C-u.

~~~ Kaj ti stara radi Zadar? ~~~
Poruka je uređivana zadnji put sub 28.4.2012 19:28 (i_rambo_plache).
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nase resenje ...

 

#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
int cifara(int x)    //funkcija koja izdvaja broj cifara
{
     int c=1;
     while(x/10>0)
     {
                  c++;
                  x=x/10;
     }
     return c;
     }
void kolona1(int a)     //funkcija koja ispisuje redove znakova + i -
{
     int j;
     cout<<"+";
     for(j=1;j<cifara(a)+3;j++)
     cout<<"-";
     cout<<"+";
     for(j=1;j<cifara(a*a)+3;j++)
     cout<<"-";
     cout<<"+";
     for(j=1;j<cifara(a*a*a)+3;j++)
     cout<<"-";
     cout<<"+";
     }
void kolona2(int y,int m)     //funkcija koja ispisuje redove sa brojevima i /
{
     int j,ind;
     //prva kolona
     cout<<"/ ";
     ind=cifara(m)-cifara(y)+1;
     for(j=1;j<=cifara(m*m*m);j++)
     if (j==ind)
     {
                cout<<y;
                 break;
     }
     else cout<<" ";
     //druga kolona
     cout<<" / ";
     ind=cifara(m*m)-cifara(y*y)+1;
     for(j=1;j<=cifara(m*m*m);j++)
     {
     if (j==ind)
     {
                cout<<y*y;
                 break;
     }
     else cout<<" ";
     }
     //treca kolona
     cout<<" / ";
     ind=cifara(m*m*m)-cifara(y*y*y)+1;
     for(j=1;j<=cifara(m*m*m);j++)
     if (j==ind)
     {
                cout<<y*y*y;
                 break;
     }
     else cout<<" ";
     cout<<" /";
     }
main()
{
      int a,b,i;
      cin>>a>>b;
      for(i=a;i<=b;i++)
      {
                               cout<<endl;
                               kolona1(b);
                               cout<<endl;
                               kolona2(i,b);
      }
      cout<<endl;
      kolona1(b);
      cout<<endl;
      system("pause");
      return 0;
      }

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kako da oredim poziciju max clana niza?

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Kako da oredim poziciju max clana niza?

najveci = niz[0];
for(i=1; i < brojClanovaNiza; i++) {
    if(niz[i] > najveci)
        najveci = niz[i];
}
for(i=0; i < brojClanovaNiza; i++) {
    if(najveci == niz[i]) {
        printf("Max clan niza je na %d. mjestu u nizu, i njegova pozicija u nizu (ne adresa!) "
               "ostaje spremljena u varijabli 'i'", i);
        break;
    }
}

~~~ Kaj ti stara radi Zadar? ~~~
Poruka je uređivana zadnji put ned 29.4.2012 19:53 (i_rambo_plache).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ne trebaš dvije petlje, samo u prvoj petlji uvedi varijablu index

 

najveci = niz[i];

index = i;

Poruka je uređivana zadnji put ned 29.4.2012 21:07 (Floki).
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jeli mi može netko preporučit dobru literaturu na internetu za naučit više o formama ?

Sharing Is NOT Stealing!
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mamic kaže...

Jeli mi može netko preporučit dobru literaturu na internetu za naučit više o formama ?

Jojojoj, ako radiš C# i Win Forme, što postavljaš u ovu temu, odluči se C# ili C++... {#}

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

Zamolio bih nekoga tko bi bio voljan, da mi napiše C++ programčić koji bi putem 3 niti na ekranu ispisao ABC, svaka nit po 1 slovo.

Cijenio bih ako bi program radio u Visual Studio 2008. Hvala.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&amp;amp;jumpto=2529211&amp;amp;sort=asc&amp;amp;view=flat
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Onda potraži na google-u MFC threads.

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

trebalo bi mi ako neko može da napiše program za dev c++ za zamjenu mjesta varijabli.. (ne onak ko na onom primjeru sa pićima i prelijevanjem kad uvodimo novu varijablu) nego da imamo samo a i b i da im se zamijene mjesta pomoću zbrajanja (i oduzimanja ak treba to).. 

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

trebalo bi mi ako neko može da napiše program za dev c++ za zamjenu mjesta varijabli.. (ne onak ko na onom primjeru sa pićima i prelijevanjem kad uvodimo novu varijablu) nego da imamo samo a i b i da im se zamijene mjesta pomoću zbrajanja (i oduzimanja ak treba to).. 

Jedino što mi pada na pamet je xor (isključivo ili). Naime vrijedi identitet da je:

x^y^y=x. I na tome principu možeš(u teoriji) brzo zamijeniti dvije varijable bez upotrebe treće. Npr. imaš dvije varijable a i b:

a ^= b
b ^= a
a ^= b

Ovo ^= znači ako npr. imaš x^=y to je ustvari x = x^y. Sada samo trebaš to prepisati u c++. Znak za xor u c++ je ^.

Twitter- @capttawish Linux/GNU live forever.
Poruka je uređivana zadnji put čet 3.5.2012 16:12 (captain_soap_McTawish).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

nisam neki maher za te stvari, al ovo čak i kontam.. hvala :)

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

Zbog situacije kada nastaje preljev brojevne kružnice (brojevi su veliki) ne postoji metoda kojom se dvije varijable mogu zamjeniti direktno već treba postojati pomoćna.

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

Pozdrav raja :)

Imam jedan problem pa bih vas zamolio za pomoc!

Trebam implementirati funkciju int*umetnibroj(int*niz,int duzina, int broj);

 

Zadatak kaze da broj koji smo unjeli moramo staviti u niz, prosljedjeni niz mora biti unaprijed sortiran
 i nakon umetanja broja on mora ostati sortiran! Jos jedna napomena: U zadatku ne smijemo koristiti algoritme za sortiranje, to je ustvari i jedini problem za mene, posto ne znam kako bi inace umetnuo broj u niz a da ostane sortiran!

Eee, hvala unaprijed i pozdrav :)

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
adimesic kaže...

Pozdrav raja :)

Imam jedan problem pa bih vas zamolio za pomoc!

Trebam implementirati funkciju int*umetnibroj(int*niz,int duzina, int broj);

 

Zadatak kaze da broj koji smo unjeli moramo staviti u niz, prosljedjeni niz mora biti unaprijed sortiran
 i nakon umetanja broja on mora ostati sortiran! Jos jedna napomena: U zadatku ne smijemo koristiti algoritme za sortiranje, to je ustvari i jedini problem za mene, posto ne znam kako bi inace umetnuo broj u niz a da ostane sortiran!

Eee, hvala unaprijed i pozdrav :)

evo mi main funkcije:

 

int main(){

cout<<"unesite duzinu niza"<<endl;

int duzina;

cin>>duzina;

cout<<"ispunite niz"<<endl;

int *niz=new int[duzina];

for(int i=0; i<duzina; i++){

cin>>niz[i];}

cout<<"unesite broj"<<endl;

int broj;

cin>>broj;

system("Pause");

return 0;} 

 

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

evo mi main funkcije:

 

int main(){

cout<<"unesite duzinu niza"<<endl;

int duzina;

cin>>duzina;

cout<<"ispunite niz"<<endl;

int *niz=new int[duzina];

for(int i=0; i<duzina; i++){

cin>>niz[i];}

cout<<"unesite broj"<<endl;

int broj;

cin>>broj;

system("Pause");

return 0;} 

 

Koliko vidim, ti nigdje u ovo kodu ne pozivaš funkciju UmetniBroj. Daj nam cijeli kod sa funkcijom pa da vidimo što si točno radio.

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...
adimesic kaže...

evo mi main funkcije:

 

int main(){

cout<<"unesite duzinu niza"<<endl;

int duzina;

cin>>duzina;

cout<<"ispunite niz"<<endl;

int *niz=new int[duzina];

for(int i=0; i<duzina; i++){

cin>>niz[i];}

cout<<"unesite broj"<<endl;

int broj;

cin>>broj;

system("Pause");

return 0;} 

 

Koliko vidim, ti nigdje u ovo kodu ne pozivaš funkciju UmetniBroj. Daj nam cijeli kod sa funkcijom pa da vidimo što si točno radio.

 

Ovako:

 

Imam problem da mi pise preko niz2[temp]=broj;

#include <iostream>

using namespace std;

int *umetni(int*niz,int duzina, int broj){

int d=duzina+1;

int *niz2=new int [d];

int temp=0;

for(int i=0; i<duzina-1; i++){

if(niz[i]<=broj){

temp=i;}}

niz2[temp]=broj;

for(int j=0; j<=temp; j++){

niz2[j]=niz[j];}

for(int j=temp; j<=duzina; j++){

niz2[j]=niz[j];}

for(int a=0; a<d; a++){

cout<<niz2[a]<<endl;}

cout<<temp<<endl;

return &temp;}

int main(){

cout<<"unesite duzinu niza"<<endl;

int duzina;

cin>>duzina;

cout<<"ispunite niz"<<endl;

int *niz=new int[duzina];

for(int i=0; i<duzina; i++){

cin>>niz[i];}

cout<<"unesite broj"<<endl;

int broj;

cin>>broj;

umetni(niz,duzina,broj);

system("Pause");

return 0;}

 

 

 

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

Imam problem sa sljedećim kodom, naime u zadatku traže da nakon unosa dva niza proizvoljne dužine i zatim da se u treći niz pohrane zajedničke ne duplirane vrjednosti oba niza, tj. presjek. Ja imam problem tako da ne mogu da kompariram sve sve elemente jednog niza sa svim elementima drugog niza.
#include<iostream>#include<cstdlib>#define max 100using namespace std;

int main()
{
 int niz_prvi[max];
 int niz_drugi[max];
 int niz_zajednicki[max];
 int velicina;

 cout<<"Unesite duljinu prvog niza"<<endl;
 cin>>velicina;
 cout<<"Unesite clanove prvog niza!"<<endl;
 for(int i=0; i<velicina; i++)
 {
  cin>>niz_prvi[i];
 }
 cout<<"Unesite duljinu drugog niza"<<endl;
 cin>>velicina;
 cout<<"Unesite clanove drugog niza!"<<endl;
 for(int i=0; i<velicina; i++)
 {
  cin>>niz_drugi[i];
 }
 int pom=0;
 for(int i=0; i<velicina; i++)
 {
   if(niz_prvi[i]==niz_drugi[i])
   {
    niz_zajednicki[i]=niz_prvi[i];
    pom++;
   }
 }

 for(int i=0; i<pom; i++)
 {
  cout<<niz_zajednicki[i]<<endl;
 }

 system("PAUSE");
 return 0;
}

 

I da li bi mi bilo lakše da dinamički alociram memoriju, jer ne znam dokle vrtiti ovu petlju žutim markerom.

Transact-SQL
 
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
adimesic kaže...

Imam problem da mi pise preko niz2[temp]=broj;

#include <iostream>

using namespace std;

int *umetni(int*niz,int duzina, int broj){

int d=duzina+1;

int *niz2=new int [d];

int temp=0;

for(int i=0; i<duzina-1; i++){

if(niz[i]<=broj){

temp=i;}}

niz2[temp]=broj;

for(int j=0; j<=temp; j++){

niz2[j]=niz[j];}

for(int j=temp; j<=duzina; j++){

niz2[j]=niz[j];}

for(int a=0; a<d; a++){

cout<<niz2[a]<<endl;}

cout<<temp<<endl;

return &temp;}

int main(){

cout<<"unesite duzinu niza"<<endl;

int duzina;

cin>>duzina;

cout<<"ispunite niz"<<endl;

int *niz=new int[duzina];

for(int i=0; i<duzina; i++){

cin>>niz[i];}

cout<<"unesite broj"<<endl;

int broj;

cin>>broj;

umetni(niz,duzina,broj);

system("Pause");

return 0;}

 

Buduci da trebas vratiti pokazivac na int, onda bi bilo logicnije da vratis pokazivac na polje sa umetnutim clanom, a ne adresu lokalne varijable. To sto si napravio sa vracanjem adrese na lokalnu varijablu temp je potpuno besmisleno. Uz to cijela funkcija je besmislena. Jednostavno ne mogu shvatiti sto si ti htio ovdje raditi. Ovo je funkcija koja umece novi clan, a ti u njoj ispisujes clanove polja.

 

Sada cemo krenuti sa pravilnijim pristupom. Buduci da dodajes jedan clan u polje, onda mi moramo u funkciji alocirati polje koji ima 1 clan vise od polja koje nam je doslo. To radimo ovako:

int *novoPolje = new int[duzina+1]Kada smo to napravili, onda moramo ubaciti clanove u to novo polje, ali tako da pazimo da umetnemo novi clan na pravo mjesto. Buduci da je polje sortirano, mi cemo prelaziti kroz staro polje i kopirati ih novo polje sve dok nam broj koji trebamo unijeti manji od clanova staroga polja. Kada vise nije manji onda smo nasli mjesto gdje trebamo taj novi broj ubaciti. To cemo raditi kroz for petlju i trebati ce nam dvije varijable. Jedna koja ce pamtiti do kojeg smo indeksa dosli u starome polju, i nova koja ce pamtiti do kojeg smo indeksa dosli u novome polje. Naime kad ubacimo broj u novo polje, mi smo se pomaknuli za jedno mjesto u novome polju, ali smo u starome polju ostali na istome mjestu i zato trebamo dvije varijable:

int sIndex = 0, nIndex =0;
for(nIndex =0; nIndex<duzina+1;nIndex++){
    if(broj >= niz[sIndex] && sIndex == nIndex)
        novoPolje[nIndex] = broj;
    else{
        novoPolje[nIndex] = niz[sIndex];
        sIndex++;
}

 

Sada smo napravili novo polje sa ubacenim clanom. Sada trebamo dealocirati staro polje jer bi inace ono ostalo u memoriji:

delete [] niz

I vratimo pokazivac na novo polje:

return novoPolje;

I kad pozivas funkciju umetni broj onda trebas vrijednost funkcije pridziti polju:

niz = UmetniBroj(niz,duzina,broj);

 

T-SQL kaže...

I da li bi mi bilo lakše da dinamički alociram memoriju, jer ne znam dokle vrtiti ovu petlju žutim markerom.

Ako hoces provjeriti presjek polja, onda ti trebaju dvije for petlje jer u tvome slucaju provjeravas samo jesu li brojevi sa istim indexom jednaki.

Twitter- @capttawish Linux/GNU live forever.
13 godina
protjeran
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...

Ako hoces provjeriti presjek polja, onda ti trebaju dvije for petlje jer u tvome slucaju provjeravas samo jesu li brojevi sa istim indexom jednaki.

 NIje mi baš jasno?

Transact-SQL
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Prije svega hvala na trudu. U svom kodu sam alocirao prostor za novi niz u funkciji, ne znam kako nisi mogao da to vidis,

 

 

int d=duzina+1;

int *niz2=new int [d];

 

 

temp mi je bila pomocna varijabla koja mi je sluzila da nadjem clan niza koji je manji od prosljedjenog broja. To sam radio pomocu for petlje:

 

for(int i=0; i<duzina-1; i++){

if(niz[i]<=broj){

temp=i;}}

 

 

Slijedeci korak mi je bio da ispunim novi niz (tj.niz2) sa clanovima prosljedjenog niza, do indexa onog broja koji je manji od prosljedjenog broja.

 

for(int j=0; j<=temp; j++){

niz2[j]=niz[j];}

 

 

Prije toga sam rekao da je:

 

niz2[temp]=broj;

 

Nakon toga sam u niz2 upisivao preostale clanove prosljedjenog niza koji su bili veci od prosljedjenog broja:

 

for(int j=temp; j<=duzina; j++){

niz2[j]=niz[j];}

 

A to sto return-am pokazivac na temp, to je greska {#}

U zadatku mi je naglaseno da moram vratiti pokazivac na prvi clan novog niza, to bi u mom slucaju bilo,

 

return &niz2[0];

 

A zasto vracam referencu prvog clana novog niza?! Pogledaj deklaraciju funkcije! 

Uradio sam prema tvojoj preporuci (tj.tvom kodu) al i dalje ne radi! Evo screen-a

screen screen

15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
T-SQL kaže...

 NIje mi baš jasno?

Ti imas dva polja i moras naci njihov presjek tj. moras provjeriti koji se clanovi nalaze u oba polja. Dakle za svaki clan jednoga polja moras proci sve clanove drugoga polje i usporediti ih. Ti si samo provjeravao da li su clanovi koji imaju isti index jednaki i to je pogresno. Recimo da imas dva polja polje1[0,1,2,5] i [1,2,5,6]. Kada si ti provjeravao ti si u stvari radio samo ove provjere:

0 == 1
1 == 2
2 == 5
5 == 6

I po tebi bi novi skup bio prazan. Bio si dobro napravio varijablu pom no nisi je pravilno iskoristion. Naime ti si napisao ovo:

niz_zajednicki[i]=niz_prvi[i];

Ovo bi ti radilo no besmisleno je. Taj novi zajednicki niz nema nuzno duljinu oba skupa, i zato za njega moras zasebno pamtiti do kojeh si clana dosao, a zato ti, osim i za duljinu novog polja, sluzi i za pamcenje do kojega si clana dosao u novome polju. Oa je ta linija trebala izgledati ovako:

niz_zajednicki[pom] = niz_prvi[i];

 

Sada cemo sve ovo implementirati:

for(int i =0; i< velicina;i++){
    for(int j = 0;j< velicina;j++)
        if(niz_prvi[i] == niz_drugi[j]){
            niz_zajednicki[pom] = niz_prvi[i];
            pom++;
            break;
        }
}

Mi za svaki clan prvoga polja provjeravamo da li se nalazi u drugome polju. To radimo tako da prolazimo kroz sve clanove drugoga polja, i gledamo je li taj clan prvoga polja jednak ijednome clanu drugoga polja. Ako jest onda ga dodamo u zajednicki niz i prekinemo petljanje za taj clan polja i predemo na sljedeci clan polja.

 

Twitter- @capttawish Linux/GNU live forever.
E-mail:
Lozinka:
 
vrh stranice