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

poruka: 7.285
|
čitano: 1.721.752
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
SaidSikiraX kaže...
Uglavnom kad to pokrenem, i kad dođem do X[1,4] izbaci mi error :

Da ne bi mozda trebalo ici:

 

for (i=0; i<BrojRed; i++)

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

 

??

 

Cim ti je u poruci rekao "Vector subscript out of range" to ti je trebao biti trag da izlazis van iz polja.

My computer once beat me at chess, but we got even after a round of boxing.
Poruka je uređivana zadnji put sri 9.5.2012 19:08 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da, koliko ja znam indeksi polja počinju od 0, možda je kod tebe drugačije ;). Probaj tako pa javi.

Poruka je uređivana zadnji put čet 10.5.2012 19:24 (royalhero).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pokušao sam ovako:

 

for (i=0;i<=BrojRed;i++)
 {
  for (j=0;i<=BrojKol;j++)
  {
   cout<<ImeMatrice<<"["<<i+1<<","<<j+1<<"]= ";
   cin>>M[i][j];
  }
 }

 

ali onda dođe do [1,5] wtf?, i tu izbaci vector out of range. Logično. Zašto ide na [1,5] kad petlja ide do 4?

Dafuq I just read?
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Zato što si stavio <=.

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

Zato što si stavio <=.

 Prelazak sa pascala.

 

EDIT:RIJEŠIO

Dafuq I just read?
Poruka je uređivana zadnji put sri 9.5.2012 21:46 (SaidSikiraX).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

#include <iostream>


#include <cstdlib>

using namespace std;

int main()
{
    float br[2];
    cout << "Unesite dva broja" << endl;
    cin >> br[1];
    cin >> br[2];
    if(br[1] > 0 && br[2] > 0)
        cout << "Brojevi su pozitivni!" << endl;
    if(br[1] < 0 && br[2] < 0)
        cout << "Brojevi su negativni!" << endl;
    else
        cout << "Razlicitog su predznaka!" <<endl;

    system("pause");
    return 0;
}

 

Kad pokrenem program koj sam napravio i upisem 2 pozitivna broja izbaci mi:

 

Brojevi su pozitivni!

Razlicitog su predznaka!

 

a kad ukucam 2 negativna pise samo:

 

Brojevi su negativni!

 

Zasto??

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

 

Zasto??

U ovom slučaju u drugoj provjeru trebaš umjesti if koristiti else if. Tvoj program sada prvo provjerava jesu li oba broja pozitivna, ako jesu onda ispiše poruku da su pozitivni. Onda provjerava jesu li negativni, ako jesu ispiše da su negativni, inače ispiše da su različitog predznaka. Sa else if naredbom, prvo će provjeravati jesu li pozitivni, ako nisu tek onda će provjereavati jesu li negativni, i ako nisu ni jedno ni drugo, onda će izvršiti pod else.

Twitter- @capttawish Linux/GNU live forever.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
    float br[2]; 
cin >> br[1];
cin >> br[2];

Nije ti ovo dobro.

cin>>br[0];cin>>br[1];

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

@intelovac

Ne vjerujem da je to za tebe baš trivijalnost, ali ako uđeš u to nećeš pogrješiti, nemaš što izgubiti samo možeš izaći za boljim znanjem o driverima pa čak i ako ga ne završiš.

Pokusacu,pa ako uspijem javim..

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

#include <iostream>

 

using namespace std;

 

int main()

{

   long int n,i,br,max,k,p;

   cin>>n;

   max=0;

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

   {

     br=0;

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

     {

       if (i%k==0)

       {

         br++;

       }

       if (br>max)

       {

         max=br;

         p=i;

       }

     }

   }

   cout<<p<<endl;

   cout<<br;

   return 0;

}

 

Ovo je zadatak... http://z-trening.com/tasks.php?show_task=5000000014

Sta ne valja?

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

#include <iostream>

using namespace std;

int main()
{
    int M,N,I;
    cin >> M, N;
    if(M>=0 && N<=200)
        I=M+N;
        cout << I << endl;
    return 0
}
Wtf kad ukucam: 4 4

Izbaci: 56

 

??

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

cin >> M, N;

 

cin >> M >> N;

 

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

http://www.z-trening.com/tasks.php?show_task=5000000006

 

Ok ne kuzim kako treba rijesit ovaj zadatak,jel mi moze neko pomoc?

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

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

int main()
{
int n,i,j,bd,max,broj;
cin>>n;
max=0;
for (i=1;i<=n;i++)
{
bd=1;
for (j=1;j<=(i/2);j++)
if((i%j) ==0) bd++;
if (bd>max)
{
max=bd;broj=i;}

}

cout<<broj<<endl;
cout<<max;
return 0;
}

 

Evo rijesio sam zadatak samo mi 6 primjera probija vrijeme ,kako to da rijesim,a 4 primjera rade normalno :)

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

Probaj staviti uvjet da ne ide do (i/2) nego do korijena od i.

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

Probaj staviti uvjet da ne ide do (i/2) nego do korijena od i.

Onda zadatak ne radi dobro..

 

Nema veze..

 

Nista..

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

Moze pomoc???

 

Prirodni brojevi zapisani su jedan iza drugog tako da cine beskonacni niz cifara: 12345678910111213... Za dati broj n naci n-tu cifru u beskonacnom nizu.

Sa prvog reda standardnog ulaza ucitava se ceo broj n (1 <= n <= 2*10^9).

U prvi red standardnog izlaza ispisati cifru koja se nalazi na n-tom mestu.

Primer:

Ulaz:
20

Izlaz:
1

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

Moze pomoc???

 

Prirodni brojevi zapisani su jedan iza drugog tako da cine beskonacni niz cifara: 12345678910111213... Za dati broj n naci n-tu cifru u beskonacnom nizu.

Sa prvog reda standardnog ulaza ucitava se ceo broj n (1 <= n <= 2*10^9).

U prvi red standardnog izlaza ispisati cifru koja se nalazi na n-tom mestu.

Primer:

Ulaz:
20

Izlaz:
1

 

#include <iostream>

#include <stdlib.h>

using namespace std;

int i, n, a, d; 

char br[15];

char broj(int n){

   d=1;

   a=9;

   i=1;

   while (a<n){

     d*=10;

     i++;

     a+=9*i*d;

   }

   n=n-a+9*i*d;

   itoa( d + (n-1) / i, br, 10);

   return br[(n-1) % i];

}

int main(){

   cin >> n;

   cout << broj(b);

   system("Pause");

   return 0;

}

Ako ti to išta znači...
P.S. odakle je zadatak? 

 

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

Zadatak je sa z-treninga.. ;)

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

Pozz zanima me jel postoji neki  nacin da ukoliko hocemo jedan program da uradimo na vise nacin  da to kako podijelimo a da nije komentar ... Evo ispod primjer 

 

 

 

#include<stdio.h>

int main ()

{

   char rijec[10];

   int i,brojac=0;

   printf("Unesite rijec :");

   scanf("%s",rijec);

   for(i=0;i<10;i++)

   if(rijec[i]!='\0')

   brojac++;

   else

   break;

   printf("Duzina rijeci je %d",brojac);

}

 

 

#include<stdio.h>

#define max 10

int main ()

{

   char rijec[max];

   int i,brojac=0;

   printf("Unesite rijec :");

   scanf("%s",rijec);

   for(i=0;rijec[i]!='\0';i++)

   brojac++;

   printf("Duzina rijeci je %d",brojac);

Dakle htio bi da ovo kompajliram u jednom kompajleru i gdje mogu samo birati koji kod ce da radi ... 
govorili su nesto u ovo funkciji main ()  npr stavim neki broj tu i ona nece raditi nikako kompajler nece gledati u nju 

 

Prva druga peta ;) ;)
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...

Pozz zanima me jel postoji neki  nacin da ukoliko hocemo jedan program da uradimo na vise nacin  da to kako podijelimo a da nije komentar ... Evo ispod primjer 

 

 

 

#include<stdio.h>

int main ()

{

   char rijec[10];

   int i,brojac=0;

   printf("Unesite rijec :");

   scanf("%s",rijec);

   for(i=0;i<10;i++)

   if(rijec[i]!='\0')

   brojac++;

   else

   break;

   printf("Duzina rijeci je %d",brojac);

}

 

 

#include<stdio.h>

#define max 10

int main ()

{

   char rijec[max];

   int i,brojac=0;

   printf("Unesite rijec :");

   scanf("%s",rijec);

   for(i=0;rijec[i]!='\0';i++)

   brojac++;

   printf("Duzina rijeci je %d",brojac);

Dakle htio bi da ovo kompajliram u jednom kompajleru i gdje mogu samo birati koji kod ce da radi ... 
govorili su nesto u ovo funkciji main ()  npr stavim neki broj tu i ona nece raditi nikako kompajler nece gledati u nju 

 

Pa stavis sa SWITCH i onda biras koji program hoces da ti izvrsi..

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

Zadatak je sa z-treninga.. ;)

Nije ti fora ako ti drugi rjesavaju te zadatke. Kod z treninga i slicnih sajtova je poanta stavljena na smisljanje vlastitih algoritama za neki problem, neces nista nauciti ako ih netko drugi osmisli za tebe.

 

aneLL kaže...

Pozz zanima me jel postoji neki  nacin da ukoliko hocemo jedan program da uradimo na vise nacin da to kako podijelimo a da nije komentar ... Evo ispod primjer 

Jesi li ikada cuo za grananje? Ono: if, switch...

 

Jednostavno lupi neki if block na pocetku, tipa:

 

if (nesto)
{
   //ucini nesto
}
else
{
   //ucini nesto drugo
}


Ili mozes koristiti preprocesor kako bi jednostavno prije kompajliranja mogao birati funkciju koja ce biti kompajlirana, na taj nacin bi mogao imati dvije funkcije sa istim imenom:

 

#include <stdio.h>

#define FUNKCIJA  1

#if FUNKCIJA == 1
int main()
{
    printf("Prva verzija main funkcije.\n");
    return 0;
}
#else
int main()
{
    printf("Druga verzija main funkcije.\n");
    return 0;
}
#endif

 

Evo ovdje si pogledaj sto sve mozes za preprocesorom raditi (posebno obrati paznju na conditional compilation, to je dio koji ce te zanimati).

 

A ako bas mislis imati istovremeno dvije aktivne main funkcije u programu, e to nebu islo. Ne znam ni koji bi smisao toga trebao biti.

My computer once beat me at chess, but we got even after a round of boxing.
Poruka je uređivana zadnji put sub 12.5.2012 12:45 (rustweaver).
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Intelovac123 kaže...

Moze pomoc???

 

Prirodni brojevi zapisani su jedan iza drugog tako da cine beskonacni niz cifara: 12345678910111213... Za dati broj n naci n-tu cifru u beskonacnom nizu.

Sa prvog reda standardnog ulaza ucitava se ceo broj n (1 <= n <= 2*10^9).

U prvi red standardnog izlaza ispisati cifru koja se nalazi na n-tom mestu.

Primer:

Ulaz:
20

Izlaz:
1

for petljom učitavaj znak po znak dok ne dođeš do n-tog i njega ispiši.

 

drugi način (bolji) je učitavati dio po dio ulaza, npr po 100 znakova. Ako se n-ta znamenka nalazi u tom polju, onda ju ispišeš, inače učitaš novi blok.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Hvala ti najljepsa ovo mi je puno pomoglo uradio sam preko ovih preprocesorskih naredbi i iscitao sam malo na onom linku o naredbama #if, #ifdef, #ifndef, #else, #elif and #endif


Sljedece sto bi me zanimalo je snimanje u .txt fajl putem c jezika dal to postoji ikako i ako me neko moze uputiti na pravi link

Jos jednom hvala puno
Prva druga peta ;) ;)
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...
Sljedece sto bi me zanimalo je snimanje u .txt fajl putem c jezika dal to postoji ikako i ako me neko moze uputiti na pravi link

Jos jednom hvala puno

Naravno da se moze.

 

http://www.tutorialspoint.com/ansi_c/c_working_with_files.htm

 

http://www.mycplus.com/tutorials/c-programming-tutorials/file-handling/

 

Funkcije koje ce te najvise zanimati su:

otvaranje i zatvaranje datoteka:

fopen

fclose

 

za rad sa tekstualnim datotekama:

fprintf

fscanf

fgets

fputs

 

za rad s binarnim datotekama:

fread

fwrite

fputc

fgetc

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

pozz evo mene opet sa novim problemom ..

 

Zanima me nacin proslijedjivanja stringa funkciji i nacin deklarisanja ...

 

Dakle pravim svoju sopstvenu funkciju koja radi identicno sa strcmp() ;

 

u glavnom programu unosim stringove  string1 [10], string2[10]

 

i pozivam funkciju string_uporedi

 

 na koji nacin cu da proslijedim string1 i string 2 toj funkciji.. Funkcija mi ne vraca nista jer cu u toj funkciji da izvrsim poredjenje i ispisem poruku ..

 

konkretno zanima me proslijedjivanje stringova funkcijama ..

Prva druga peta ;) ;)
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
aneLL kaže...
konkretno zanima me proslijedjivanje stringova funkcijama ..

Pa stringovi u C-u su zapravo polja znakova ciji kraj oznacava znak ASCII vrijednosti 0. Proslijedujes ih uokolo onako kako proslijedujes i sva ostala polja - preko pokazivaca.

 

#include <stdio.h>

void nekafunkcija(char *string1, char *string2)
{
     printf("%s %s\n", string1, string2);
}

int main()
{
    char *s1="tekst1";
    char *s2="tekst2";
   
    nekafunkcija(s1, s2);
    nekafunkcija("prvi", "drugi");
   
    return 0;
}

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Moze mi neko objasniti za sta sluze sstream i stringstream...

 

#include<iostream>
#include<string>
#include<sstream>
using namespace std;
main()
{
int n,i;
string a;
cout<<"Upisi broj n:";
cin>>n;
for(i=0;i<=10000;i++)
{
stringstream ss;
ss<<i;
a=a+ss.str();
}
cout<<a[n]<<endl;
system("pause");
}

 

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
Poruka je uređivana zadnji put ned 13.5.2012 18:02 (Intelovac123).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Umjesto da čitaš ulaz (unos) sa tipkovnice možeš ga čitati direktno iz string(stream)-a. Znači, kao da je korisnik preko tipkovnice nešto unio i spremio u string, a ti kasnije analiziraš što se nalazi u tom stringu tj. čitaš i pišeš u njega.

E-mail:
Lozinka:
 
vrh stranice