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

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

No, pa sve ti je zadano. Samo napiši kako se polje sortira, a za referentni tip izaberi T.

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

Trebam pomoc oko zadatka..

Glasi ovako : Dat je niz A od N prirodnih brojeva.Napisati program kojim se ispisuje indeks onog elementa u nizu A za koji se zbir elemenata niza koji stoje prije tog elementa najmanje razlikuje od zbira elemenata koji stoje poslije njega...

 

Primjer:

Ulaz:5 ; 7,1,3,8,10

Izlaz:4

 

Ja sam uradio ali program ne radi ,ako neko zna sta treba promjeniti u programu...

 

Evo kod:

 

#include <iostream>

#include <cmath>

#include <cstdlib>

using namespace std;

 

int main()

{

   int n,niz[500],min,i,ind;

   float s1,s2;

   cout<<"Unesi duzinu niza"<<endl;

   cin>>n;

   cout<<"Unesi brojeve "<<endl;

   for (i=1;i<=n;i++)

   {

     s2=0;

     cin>>niz[i];

     s2+=niz[i];

   }

    s2=s2-niz[1];

   min=abs(s1-s2);

   ind=1;

   s1=0;

   for (i=2;i<=n;i++)

   {

     s1+=niz[i-1];

     s2-=niz[i];

     if (abs(s1-s2)<min)

     {min=abs(s1-s2);

     ind=i;

     }

 

   }

       cout<<ind<<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
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Trebam pomoc oko zadatka..

Glasi ovako : Dat je niz A od N prirodnih brojeva.Napisati program kojim se ispisuje indeks onog elementa u nizu A za koji se zbir elemenata niza koji stoje prije tog elementa najmanje razlikuje od zbira elemenata koji stoje poslije njega...

 

Primjer:

Ulaz:5 ; 7,1,3,8,10

Izlaz:4

 

Ja sam uradio ali program ne radi ,ako neko zna sta treba promjeniti u programu...

 

Evo kod:

 

 

#include <iostream>

#include <cmath>

#include <cstdlib>

using namespace std;

 

int main()

{

   int n,niz[500],min,i,ind;

   float s1,s2;

   cout<<"Unesi duzinu niza"<<endl;

   cin>>n;

   cout<<"Unesi brojeve "<<endl;

   for (i=1;i<=n;i++)

   {

     s2=0;

     cin>>niz[i];

     s2+=niz[i];

   }

    s2=s2-niz[1];

   min=abs(s1-s2);

   ind=1;

   s1=0;

   for (i=2;i<=n;i++)

   {

     s1+=niz[i-1];

     s2-=niz[i];

     if (abs(s1-s2)<min)

     {min=abs(s1-s2);

     ind=i;

     }

 

   }

       cout<<ind<<endl;

     system("PAUSE");

   return 0;

}

 

Nakon što si upisao elemente,trebaš prvo proći jedanput kroz niz i vidjeti koje je razlika najmanja i onda još jednom prolaziš s for petljom da vidiš da li je razlika jednaka toj minimalnoj.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

De ubaci u kod i posalji mi ako mozes..

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

Ma da,taman posla.Napiši kod pa pitaj ako si zapeo negdje.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

evo u knjizi "demistificirani c++" jedan dosta zanimljiv primjer:

 

#include <iostream>

using namespace std;


int main()
{
    float a=0.3; //svejedno dal je double ili float, ista stvar i za b
    float b=a*10-2.7;
   
    if(a==b) cout<<a<<" je jednako "<<b<<endl;
    else cout<<a<<" nije jednako "<<b<<endl;
   
    return 0;
}

 

i na kraju ispada da 0.3 nije jednako 0.3 u knjizi je uktratko objasnjeno zasto je to tako i kako da se takvo sto izbjegne ali mene zanima sta se tocno dogodilo (detaljno, opsirno) pa je doslo do ovog. Pa eto ako neko ima volje da mi objasni

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

Operatori == i != nisu sigurni pri radu s realnim brojevima zbog načina na koje ih računalo prikazuje i interpretira. Čak neki prevoditelji će u ovakvim slučajevima dati upozorenje (warning).

 

Detaljnije: LINK

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

Ma da,taman posla.Napiši kod pa pitaj ako si zapeo negdje.

Evo uradio sam tako sto sam s2=0 stavio ispred for petlje..

 

U svakom slucaju hvala

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

Ako vam nije problem treba mi program da kad se unese neki broj npr. n=3 da mi ispise ovo

 

123

894

765

 

ili za n=4

 

  1   2   3 4

12 13 14 5

11 16 15 6

10  9   8 7

 

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

Ako vam nije problem treba mi program da kad se unese neki broj npr. n=3 da mi ispise ovo

 

123

894

765

 

ili za n=4

 

  1   2   3 4

12 13 14 5

11 16 15 6

10  9   8 7

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    if(n==3)
    {
       cout<<123<<endl<<894<<endl<<765<<endl;
    }
    if(n==4)
    {
       cout<<"1  2  3 4\n"<<"12 13 14 5\n"<<"10 16 15 6\n"<<"10  9  8 7\n";
    }
    return 0;
}

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
xxxmitoxxx kaže...

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin>>n;
    if(n==3)
    {
       cout<<123<<endl<<894<<endl<<765<<endl;
    }
    if(n==4)
    {
       cout<<"1  2  3 4\n"<<"12 13 14 5\n"<<"10 16 15 6\n"<<"10  9  8 7\n";
    }
    return 0;
}

ja bi još samo dodao system("Pause");

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

{#} vidim, stručnjaci se skupili pa se nebum mešal

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

Zar niko nece napisati ono sto mi treba a ne ova zezanja. treba da kad mi se otvori prozor da unesem bilo koji broj i da se na onaj nacin ispisuje.

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

Zar niko nece napisati ono sto mi treba a ne ova zezanja. treba da kad mi se otvori prozor da unesem bilo koji broj i da se na onaj nacin ispisuje.

pomogli bi mi ali iz onog sto si nam dao se nemore nista korisna izvuc za rjesenje tvog problema

16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
xxxmitoxxx kaže...
eagle05 kaže...

Zar niko nece napisati ono sto mi treba a ne ova zezanja. treba da kad mi se otvori prozor da unesem bilo koji broj i da se na onaj nacin ispisuje.

pomogli bi mi ali iz onog sto si nam dao se nemore nista korisna izvuc za rjesenje tvog problema

Program ispisuje matricu u spiralu, ali tudum nije to napisao.

Algoritam je prekompliciran pa mi se ne da pisati...

~~~ You know, half these gook whores are serving officers in the Vietcong. The other half have got TB. Be sure you only fuck the ones that cough. ~~~
Poruka je uređivana zadnji put čet 26.4.2012 13:57 (i_rambo_plache).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
i_rambo_plache kaže...
xxxmitoxxx kaže...

Program ispisuje matricu u spiralu, ali tudum nije to napisao.

Bas ovo treba sto mi je tudum xxxmitoxxx napisao. Pa kao mozete da mi uardite to bio bih vam mnogo zahvalan

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

Ako vam nije problem treba mi program da kad se unese neki broj npr. n=3 da mi ispise ovo

 

123

894

765

 

ili za n=4

 

  1   2   3 4

12 13 14 5

11 16 15 6

10  9   8 7

 

Ja sam rijesio zadatak na nacin da sam simulirao kretanje kroz matricu. Kad dodem do kraja reda ili do dodem do nekog polja koje je vec ispunjeno samo rotiram smjer kretanja za 90. I da bi olaksao kodiranje napravio sam 2d polje kojemu su rubna polja popunjena sa 1 tako da mi je jednostavnije iskodirati.

 

#include <iostream>
#include <iomanip>
#include <vector>
#define max 1000;

using namespace std;

void rotate(int& xDir,int& yDir){
    if(xDir != 0){
        yDir = xDir;
        xDir = 0;
    }
    else{
        xDir = -yDir;
        yDir = 0;
    }
}

int main(){
    vector<vector<int> > matrix;
    int n;
    cin>>n;
    vector<int> vi(n+2,0);
    matrix.insert(matrix.begin(),n+2,vi);
    for(int i = 0;i<n+2;i++){
        matrix[i][0] = 1;
        matrix[0][i] = 1;
        matrix[n+1][i] = 1;
        matrix[i][n+1] = 1;
    }
    int number = 1,xPos = 1, yPos = 1,xDir = 1,yDir = 0;
    while( number <= n*n){
       matrix[yPos][xPos]=number;
       if(matrix[yPos + yDir][xPos + xDir])
            rotate(xDir,yDir);
        xPos += xDir;
        yPos += yDir;
       number++;
    }

    int maxDigit = 0, maxNumber = n*n;
    while(maxNumber>0){
       maxDigit++;
       maxNumber/=10;
    }
    for(int i =1;i<=n;i++){
       for(int j = 1;j<=n;j++)
          cout<<setw(maxDigit)<<matrix[i][j]<<" ";
       cout<<endl;
    }
    return 0;
}

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

ja sam tako na prvu razmišljo, na drugo sam napiso while petlju s popunjanjem, a na trecu sam napravio rekurziju

 

#include <iostream>

#include <stdio.h>

using namespace std;

int m[100][100],i,j,n;

void krug(int x, int y, int l, int br){

  int i;

  for (i=0;   i<l-1;  i++, br++) m[x][y+i]=br;

  for (i=0;   i<l-1;  i++, br++) m[x+i][y+l-1]=br;

  for (i=l-1; i>=1; i--, br++) m[x+l-1][y+i]=br;

  for (i=l-1; i>=1; i--, br++) m[x+i][y]=br;

  if (l-2>=0) krug(x+1,y+1,l-2,br);

  if ((l-2<=0) && (n%2 == 1 ))m[x][y]=n*n;

}

int main(){

  cin >> n;

  krug(0,0,n,1);

  for(i=0; i<n; i++){

   for(j=0; j<n; j++)

    printf("%3d ",m[i][j]);

   cout << endl;

  }

}

 

Poruka je uređivana zadnji put čet 26.4.2012 17:04 (srky.du).
 
0 0 hvala 1
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

jel ima nesto jednostavnije od ovog jer znat ce profesor da ovo nisam aj uradio, ako se moze nekako pojednostaviti sa obicnim for petljama 

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

jel ima nesto jednostavnije od ovog jer znat ce profesor da ovo nisam aj uradio, ako se moze nekako pojednostaviti sa obicnim for petljama 

Ako ti uradiš sam, on nema šta da sumnja, ako ti mi uradimo onda s pravom može misliti da ti nisi uradio.

BTW, ako ti je ovo komplikovano...

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

nije nego nisam ja vidio ovaj drugi program vec onaj prvi sto je duzi pa je on amlo kompliciraniji ali evo ima ovaj drugi

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

nije nego nisam ja vidio ovaj drugi program vec onaj prvi sto je duzi pa je on amlo kompliciraniji ali evo ima ovaj drugi

znaš li kako se matrica popunja u mom riješenju?

P.S. znaš li uopće što je rekurzija?

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

Može se i sa petljama, tako da se popunjava matrica na način: gornji red - desni stupac - donji red - lijevi stupac-

Sa svakim sljedećim popunjavanjem smanjujemo broj polja koje treba popuniti, a popunjavanje se vrši dok ne dođemo do broja veličine matrice na kvadrat (while(index<=broj*broj)).

 

 

 

#include<iostream>
using namespace std;
 
int main()
{
    int broj, index = 1, i = 0, j = 0, razlikaI = 0, razlikaJ = 0;
    cout<< "Unesi broj: ";
    cin>> broj;
    int** matrica = new int*[broj];
    for(int i=0; i<broj; i++)
    {
       matrica[i] = new int [broj];
    }

    while(index <= broj * broj)
    {
       for(j=razlikaJ; j<broj-1-razlikaJ; j++)
       {
          matrica[i][j] = index;
          index++;
       }

       for(i=razlikaI; i<broj-1-razlikaI; i++)
       {
          matrica[i][j] = index;
          index++;
       }

       for(j=broj-1-razlikaJ; j>razlikaJ; j--)
       {
          matrica[i][j] = index;
          index++;
       }

       for(i=broj-1-razlikaI; i>razlikaI; i--)
       {
          matrica[i][j] = index;
          index++;
       }

       razlikaI++;
       razlikaJ++;
       i++;
       if(index==broj*broj)
       {
          matrica[i][j+1] = index;
          break;
       }
    }

    for(int i=0; i<broj; i++)
    {
       for(int j=0; j<broj; j++)
       {
          cout<< matrica[i][j] << " ";
       }
       cout<< endl;
    }
    delete [] matrica;
    return 0;
 
}
 

Poruka je uređivana zadnji put čet 26.4.2012 18:30 (Floki).
 
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Za zadati pozitivni cijeli broj N potrebno je da nađete na koliko načina se može taj broj
napisati kao zbir dva pozitivna broja, s tim da je prvi od ta dva broja parni broj.

 

Kod mene u programu radi da ispise sve kombinacije ali nece da broji koliko kombinacija ima..

 

Evo kod:

 

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

int main()
{
    int n,i,j,br;
    br=0;
    cout<<"Unesi broj"<<endl;
    cin>>n;
    for (i=2;i<n;i=i+2)
    for (j=1;j<n;j++)
    if ((i+j==n)&&(i%2==0))
    {
        cout<<" "<<i;
        cout<<" "<<j;
        cout<<endl;
    }
    while (i+j==n) {
        br+=1;
    }
    cout<<br<<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
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Za zadati pozitivni cijeli broj N potrebno je da nađete na koliko načina se može taj broj
napisati kao zbir dva pozitivna broja, s tim da je prvi od ta dva broja parni broj.

 

Kod mene u programu radi da ispise sve kombinacije ali nece da broji koliko kombinacija ima..

 

Evo kod:

 

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

int main()
{
    int n,i,j,br;
    br=0;
    cout<<"Unesi broj"<<endl;
    cin>>n;
    for (i=2;i<n;i=i+2)
    for (j=1;j<n;j++)
    if ((i+j==n)&&(i%2==0))
    {
        cout<<" "<<i;
        cout<<" "<<j;
        cout<<endl;
    }
   while (i+j==n) {
        br+=1;
    }
    cout<<br<<endl;
    system ("PAUSE");
    return 0;
}

Ne razumijem zašto while i zašto izvan IF naredbe.

 

#include <iostream>

#include <cstdlib>

using namespace std;

 

int main()

{

   int n,i,j,br;

   br=0;

   cout<<"Unesi broj"<<endl;

   cin>>n;

   for (i=2;i<n;i=i+2)

   for (j=1;j<n;j++)

   if ((i+j==n)&&(i%2==0))

   {

     cout<<" "<<i;

     cout<<" "<<j;

     cout<<endl;

     if(i+j==n) 

     br++;

     }

   cout<<br<<endl;

   system ("PAUSE");

   return 0;

}

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
emerik kaže...
Intelovac123 kaže...

Za zadati pozitivni cijeli broj N potrebno je da nađete na koliko načina se može taj broj
napisati kao zbir dva pozitivna broja, s tim da je prvi od ta dva broja parni broj.

 

Kod mene u programu radi da ispise sve kombinacije ali nece da broji koliko kombinacija ima..

 

Evo kod:

 

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

int main()
{
    int n,i,j,br;
    br=0;
    cout<<"Unesi broj"<<endl;
    cin>>n;
    for (i=2;i<n;i=i+2)
    for (j=1;j<n;j++)
    if ((i+j==n)&&(i%2==0))
    {
        cout<<" "<<i;
        cout<<" "<<j;
        cout<<endl;
    }
   while (i+j==n) {
        br+=1;
    }
    cout<<br<<endl;
    system ("PAUSE");
    return 0;
}

Ne razumijem zašto while i zašto izvan IF naredbe.

 

 

#include <iostream>

#include <cstdlib>

using namespace std;

 

int main()

{

   int n,i,j,br;

   br=0;

   cout<<"Unesi broj"<<endl;

   cin>>n;

   for (i=2;i<n;i=i+2)

   for (j=1;j<n;j++)

   if ((i+j==n)&&(i%2==0))

   {

     cout<<" "<<i;

     cout<<" "<<j;

     cout<<endl;

     if(i+j==n) 

     br++;

     }

   cout<<br<<endl;

   system ("PAUSE");

   return 0;

}

 

Pa ne radi ni ovo tvoje ;)

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

Ja sam samo promijenio ovaj dio koji zbraja kolko ima kombinacija.Ovo gore nisam dirao,ako si gore fuljao onda popravi.Al ti si rekao da ti dobro ne zbraja i to sam promijenio.Ja sam isprobao i meni radi.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
Poruka je uređivana zadnji put čet 26.4.2012 19:48 (emerik).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
emerik kaže...

Ja sam samo promijenio ovaj dio koji zbraja kolko ima kombinacija.Ovo gore nisam dirao,ako si gore fuljao onda popravi.Al ti si rekao da ti dobro ne zbraja i to sam promijenio.Ja sam isprobao i meni radi.

EDIT: Evo sad radi..

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
Poruka je uređivana zadnji put čet 26.4.2012 20:00 (Intelovac123).
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Jesi skopirao ovaj donji kod?Jer ako nisi {#}.

EDIT:Vidim da si skopirao krivi kod{#}.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
Poruka je uređivana zadnji put čet 26.4.2012 20:02 (emerik).
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@intelovac, za sve je kriva tvoja brzopletost, kud' žuriš?

E-mail:
Lozinka:
 
vrh stranice