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

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

Hvala ti na brzom odgovoru,stvarno mi puno znaci...Vijerojatno si me spasio od kolca sutra :D Samo jedno pitanje....dali bi ovaj program trebao imati svrhu ili je samo da prikaze overloading ? Jer ona ce mene muciti barem 15 minuta o tome :D Ako ti ga nije problem malo pojasniti...sta koja funkcija u kojem djelu radi,deklarira,gdje je tocno greska itd...Ali u svakom slucaju hvala ti na proslom odgovoru :')

Što se tiče toga jesam li te spasio od kolca, ne znam, nemam vremena da ti objasnim override, pojam iz OOP, a možda ti i to traži.

Da, ovo preoptertećeje funkcija ima svrhu, prva verzija kao argument uzima niz cjelobrojnih elemenata, da imaš samo nju, ne bi mogao ubaciti double niz. Ovako tvoje je da ne razmišljaš koji si niz ubacio,a funkcija ima isto ime, ako si ubacio int niz automatski se poziva ta verzija funkcije, a isto tako ako ubaciš double niz automatski se poziva ta verzija funkcije.

 

Funkcije rade ovo:

1. za maxElemet uzme prvi član niza

2. kroz for petlju od drugog člana niza do zadnjeg ispituju da li je maxElement manji od pojedinog člana niza

3. ako je maxElement manji od pojedinog člana niza varijabli maxElement pridružuješ taj član niza

4. kad petlja završi maxElement sadrži najveći član niza

5. funkcija vraća maxElement

Poruka je uređivana zadnji put sri 24.4.2013 22:26 (Floki).
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Evo uradio sam infix to postfix conversion i evaluation.

I na kompu mi radi, koji god izraz unesem, ispiše.

Ali kad uploadam na judge, padne mi memorija na dosta primjera (i to onim sa zagradama)

Evo koda al sumnjam da će šta pomoći.

Ako mi ko može dati par nešto kompleksnijih izraza pa da probam ubaciti da vidim ide li se gdje crashati.

http://pastebin.com/YEwTzffj

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

Postoji način da se promjeni text u već otvorenom MessageBoxu? 

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

Postoji način da se promjeni text u već otvorenom MessageBoxu? 

Aha, iako ne baš lijep. Trebaš u biti samo dobiti handle od message box prozora, nakon možeš dobiti handle od child kontrola message box prozora. Kako message box prikazuje poruku u static text kontroli onda samo toj kontroli izmijeniš tekst koji sadrži.

 

#include <windows.h>
#include <process.h>
#include <string.h>
#include <tchar.h>

void MessageBoxThreadFunc(void *p)
{
    MessageBox(NULL, "Ovo je neka poruka s greskom", _T("Test"), MB_OK);
}

BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{
    TCHAR CurrentClass[64]={0};
    HWND *hStaticTextCtrl=(HWND*)lParam;
   
    GetClassName(hwnd, CurrentClass, 63);
   
    if (_tcscmp(_T("Static"), CurrentClass)==0)
    {
        *hStaticTextCtrl=hwnd;
        return FALSE;
    }
   
    return TRUE;
}

int main()
{  
    HWND hMessageBox, hStaticTextCtrl=NULL;
   
    _beginthread(MessageBoxThreadFunc, 0, NULL);
    Sleep(50);
   
    hMessageBox=FindWindow(NULL, _T("Test"));
    if (!hMessageBox)
    {
        printf("FindWindow failure!\n");
        return 1;
    }
   
    EnumChildWindows(hMessageBox, EnumChildProc, (LPARAM)&hStaticTextCtrl);
   
    if (hStaticTextCtrl)
       SetWindowText(hStaticTextCtrl, "Izmjenjena poruka!");
   
    system("pause");
    return 0;
}

 

Ako imaš potrebe toliko modificirati message box (a vidim i da ne želiš niti blokiranje), onda bi bilo najpametnije rješenje napraviti vlastiti prozor za takve obavijesti. Tako bi barem imao punu kontrolu nad svime i ne bi morao trikovima zaobilaziti klasično ponašanje message boxa.

0xBADC0DE
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

super radi :D no problem je što ponekad dođe previše texta(pa se ne vidi), pa bi trebao nekako resizeati messagebox :D jel ga moguće nekako nativno resizeati (da se vidi sav text u njemu?

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

A što ti uopće pokušavaš napraviti?? Neke "ja sam hacker" fore ili?

 

I inače, kad imaš handle onda možeš sve, pa i resize.

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 pet 26.4.2013 22:54 (TracerCPP).
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

A što ti uopće pokušavaš napraviti?? Neke "ja sam hacker" fore ili?

 

I inače, kad imaš handle onda možeš sve, pa i resize.

plizzzz :D

 

hoću mjenjat messagebox mog programa :D

 

evo funkciju koju za sad imam, dakle kada se pozove thread drugi put varijabla msgbox_act je 1, i onda samo dodaje text na već trenutni

 

 

void   msg_add (void *param)

{

   HWND hMessageBox, hStaticTextCtrl=NULL;

   char ftxt[5000];

   printf("\n act== %d",msgbox_act);

 

   if(msgbox_act==1)

   {

     msgbox_act=1;

 

     hMessageBox=FindWindow(NULL, _T("X MSG"));

     if (!hMessageBox)

     {

       printf("FindWindow failure!\n");

       //return 1;

     }

 

     EnumChildWindows(hMessageBox, EnumChildProc, (LPARAM)&hStaticTextCtrl);

     printf("\n%d %d %d",hMessageBox,EnumChildProc,hStaticTextCtrl);

     if (hStaticTextCtrl)

     {

       GetWindowText(hStaticTextCtrl,ftxt,4999);

       strcat(ftxt,"\n");

       strcat(ftxt,msgtxt);

       SetWindowText(hStaticTextCtrl, ftxt);

     }

 

 

   }

 

   if(msgbox_act==0)

   {

     msgbox_act=1;

     MessageBox(0,msgtxt,_T("X MSG"),MB_OK);

     msgbox_act=0;

   }

 

}

 

Poruka je uređivana zadnji put pet 26.4.2013 23:06 (cpp freak).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
cpp freak kaže...
hoću mjenjat messagebox mog programa :D

Pa onda ti je jednostavnije napraviti vlastiti messagebox (formu) nego ove petljancije.

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

Riješio sam to, tako da uzmem tekst iz trenutnog msg boxa, zatvorim ga i otvorim novi s tim i dodanim tekstom

 

 

void   msg_add (void *param)

{

   HWND hMessageBox, hStaticTextCtrl=NULL, hStaticButtonCtrl=NULL;

   char ftxt[5000]={0};

   printf("\n %d %s",msgbox_act,msgtxt);

 

 

 

         hMessageBox=FindWindow(NULL,"X MSG");

         if (!hMessageBox)

         {

           printf("FindWindow failure!\n");

           //return 1;

         }

         calx=1;

         EnumChildWindows(hMessageBox, EnumChildProc, (LPARAM)&hStaticTextCtrl);

         if (hStaticTextCtrl)

         {

           GetWindowText(hStaticTextCtrl,ftxt,5000);

         }

         strcat(ftxt,"\n");

         strcat(ftxt,msgtxt);

 

         calx=2;

         EnumChildWindows(hMessageBox, EnumChildProc, (LPARAM)&hStaticButtonCtrl);

         if (hStaticButtonCtrl)

         {

           SendMessage( hMessageBox, WM_COMMAND, MAKELONG( GetDlgCtrlID( hStaticButtonCtrl ) , BN_CLICKED ), (LPARAM) hStaticButtonCtrl );

         }

 

         MessageBox(0,ftxt,"X MSG",MB_OK);

 

}

 

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

Hajde fino poslušaj ljude i uradi kako su ti rekli.

Message Box nije namjenjen za to što ti želiš, bez veze ga "siluješ" da to radi, kada možeš napraviti svoj prozor i tamo raditi šta hoćeš.

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Moze li mi ko pomoci u vezi jednog problema. Zadatak je napisati program u koji ce se unijeti trocifreni broj npr. 123 (ili tri slova, npr: abc), program ce dati sve moguce kombinacije sastavnih elemenata:

konkretno, da za unijeti npr 123, izbaci 123,132,312,321,213,231 (ili za abc: abc, acb, bca, bac, cab, cba) . Svaki oblik pomoci je dobro dosao (sugestija ili rjesenje, nebitno).
Loyal to the game
13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Evo:

 

void komb(char niz [])

{

for(int i=0;i<3;i++)

 for(int j=0;j<3;j++)

 {

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

 if(d!=j && d!=i && i!=j)

 cout << niz[i] << niz[j] << niz[d] << endl;

 }

 }

}

}

 

Eto ja sam ti napravio f-ju,  vjerovatno neko od iskusnijih kolega ima optimalnije rješenje ali i ovo radi.

It's not how good you are, it's how good you want to be.
Poruka je uređivana zadnji put ned 28.4.2013 12:34 (Artem).
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Simon Ghost Riley kaže...
Moze li mi ko pomoci u vezi jednog problema. Zadatak je napisati program u koji ce se unijeti trocifreni broj npr. 123 (ili tri slova, npr: abc), program ce dati sve moguce kombinacije sastavnih elemenata:

konkretno, da za unijeti npr 123, izbaci 123,132,312,321,213,231 (ili za abc: abc, acb, bca, bac, cab, cba) . Svaki oblik pomoci je dobro dosao (sugestija ili rjesenje, nebitno).

Vidi molim te , odgovara li ti nešto ovako.

HINT:: imaš u std biblioteci hrpu korisnih stvari , ovdje se oslanjamo na <algorithm>

 

http://ideone.com/ZiKgLX

 

#include <iostream>   
#include <algorithm>  
#include <vector>
 
using namespace std;
 
template<class T>
void permute(vector<T>& data)
{
 
 sort(data.begin() , data.end());

 while ( next_permutation(data.begin() , data.end() ) )
 {
    for(unsigned int i=0 ; i<data.size() ; i++)
    {
       cout<< data[i] << " ";
    }
    cout << "\n";
 }
}
 
 
 
int main ()
{
  vector<int> data;
  data.push_back(1);
  data.push_back(2);
  data.push_back(3);
 
  permute( data );
 
 
  cout<< "\nidemo na slova\n";
  vector<char> chars;
  chars.push_back('a');
  chars.push_back('b');
  chars.push_back('c');
 
  permute( chars );
 
 
  return 0;
}

http:/https://play.google.com/store/apps/details?id=org.kde.necessitas.example.SMASHHH
Poruka je uređivana zadnji put ned 28.4.2013 15:14 (nik_02).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Trebao bih pomoć oko jednog zadatka.Treba upisati string,jednu rijec i onda ispisati koliko se puta ta rijec pojavljuje u stringu.Treba koristiti naredbu find,znam kako pronaći jednu riječ,ali kad pokušam ubaciti u petlju beskonačno se vrti.

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

Wau, kako negativno iznenadim samog sebe. Dok se mucim satima da napravim isto ovo sa "while" (jos mi ostalo nekoliko koraka da zavrsim), tamo negdje postoji ovako jednostavan nacin koji daje isti rezultat. Hvala ti puno Artem.

Loyal to the game
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
nik_02 kaže...
Simon Ghost Riley kaže...
Moze li mi ko pomoci u vezi jednog problema. Zadatak je napisati program u koji ce se unijeti trocifreni broj npr. 123 (ili tri slova, npr: abc), program ce dati sve moguce kombinacije sastavnih elemenata:

konkretno, da za unijeti npr 123, izbaci 123,132,312,321,213,231 (ili za abc: abc, acb, bca, bac, cab, cba) . Svaki oblik pomoci je dobro dosao (sugestija ili rjesenje, nebitno).

Vidi molim te , odgovara li ti nešto ovako.

HINT:: imaš u std biblioteci hrpu korisnih stvari , ovdje se oslanjamo na <algorithm>

 

http://ideone.com/ZiKgLX

 

#include <iostream>    
#include <algorithm>   
#include <vector>
 
using namespace std;
 
template<class T>
void permute(vector<T>& data)
{
 while ( next_permutation(data.begin() , data.end() ) )
 {
    for(unsigned int i=0 ; i<data.size() ; i++)
    {
       cout<< data[i] << " ";
    }
    cout << "\n";
 }
}
 
 
 
int main ()
{
  vector<int> data;
  data.push_back(1);
  data.push_back(2);
  data.push_back(3);
 
  permute( data );
 
 
  cout<< "\nidemo na slova\n";
  vector<char> chars;
  chars.push_back('a');
  chars.push_back('b');
  chars.push_back('c');
 
  permute( chars );
 
 
  return 0;
}

Posto sam prije 3 mjeseca krenuo tek sa programiranjem, nacin sa "for" mi se cini laksi zasad. :D Hvala ti ipak na brzom odgovoru.

Loyal to the game
15 godina
online
Re: Programiranje u C++-u - pitanja i odgovori
nik_02 kaže...

  Mislim da bi kod ovoga rješenja trebalo napomenuti da elementi trebaju biti sortirani od manjih prema većima. Ako nije tako, onda funkcija neće ispisati sve permutacije jer će zanemariti permutacije koje dolaze dolaze leksikografski prije. Npr. ako promjenimo početni raspored brojeva promjenimo u 231, ova funkcija će ispisati samo:

3 1 2
3 2 1

A ako stavimo 321, onda funkcija neće ispisati ništa budući da je to posljedna permutacija.

 

I zbog načina na koji se računa sljedeća permutacija, ovaj način radi samo na elementima koji se mogu međusobno uspoređivati.

 

13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Simon Ghost Riley kaže...

Wau, kako negativno iznenadim samog sebe. Dok se mucim satima da napravim isto ovo sa "while" (jos mi ostalo nekoliko koraka da zavrsim), tamo negdje postoji ovako jednostavan nacin koji daje isti rezultat. Hvala ti puno Artem.

hehe 

sigurno najkraće rješenja ali mozda ne i najbolje, srecom pa je rijec o trocifrenom

 

#include<iostream>

using namespace std;

 

void komb(char niz []){

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

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

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

 if(d!=j && d!=i && i!=j)

 cout << niz[i] << niz[j] << niz[d] << endl;

 }

 }

}

}

void main()

{

 char unos[3];

 cin>> unos;

 komb(unos);

}

 

tako da i ako uneseš ili brojeve ili slova izbacit ce sve moguce kombinacije

It's not how good you are, it's how good you want to be.
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
captain_soap_McTawish kaže...
nik_02 kaže...

  Mislim da bi kod ovoga rješenja trebalo napomenuti da elementi trebaju biti sortirani od manjih prema većima. Ako nije tako, onda funkcija neće ispisati sve permutacije jer će zanemariti permutacije koje dolaze dolaze leksikografski prije. Npr. ako promjenimo početni raspored brojeva promjenimo u 231, ova funkcija će ispisati samo:

3 1 2
3 2 1

A ako stavimo 321, onda funkcija neće ispisati ništa budući da je to posljedna permutacija.

 

I zbog načina na koji se računa sljedeća permutacija, ovaj način radi samo na elementima koji se mogu međusobno uspoređivati.

 

Štima , dodan sort.

http:/https://play.google.com/store/apps/details?id=org.kde.necessitas.example.SMASHHH
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ivan_99C++ kaže...

Trebao bih pomoć oko jednog zadatka.Treba upisati string,jednu rijec i onda ispisati koliko se puta ta rijec pojavljuje u stringu.Treba koristiti naredbu find,znam kako pronaći jednu riječ,ali kad pokušam ubaciti u petlju beskonačno se vrti.

Negdje si pogriješio u petlji kad se beskonačno vrti, vjerojatno u inkrementu.

 

 

 

int FindSubString(string recenica, string rijec)
{
    int broj = 0;
    for (unsigned i = 0; recenica.find(rijec, i) != string::npos; i = recenica.find(rijec, i)+1)
    {
       broj++;
    }
    return broj;
}

Poruka je uređivana zadnji put pon 29.4.2013 13:02 (Floki).
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ivan_99C++ kaže...

Trebao bih pomoć oko jednog zadatka.Treba upisati string,jednu rijec i onda ispisati koliko se puta ta rijec pojavljuje u stringu.Treba koristiti naredbu find,znam kako pronaći jednu riječ,ali kad pokušam ubaciti u petlju beskonačno se vrti.

Daj kod da vidimo... ovako ti mozemo samo rjesiti zadtak, a ne dati ti hint... To nije fun , zar ne {#}

 

Floki kaže...

Negdje si pogriješio u petlji kad se beskonačno vrti, vjerojatno u inkrementu.

 

 

 

int FindSubString(string recenica, string rijec)
{
    int broj = 0;
    for (unsigned i = 0; recenica.find(rijec, i) != string::npos; i = recenica.find(rijec, i)+1)
    {
       broj++;
    }
    return broj;
}

 

 

ja bi radije koristio while, i to sto zoves find 2x bas nije najsretnije... I za duge stringove se(ako pazis na perf) trebas pomaknuti needle.size() (ako ono trazis iglu u sijenu :D), ne 1...

ali uglavnom ok rejsenje....

Poruka je uređivana zadnji put uto 30.4.2013 19:06 (Zoidberg).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ako te kužim needle je substring koji tražimo?

 

Kad to primjenim, onda ovako:

 


int FindSubString(string recenica, string rijec)
{   int broj = 0;
    size_t pozicija = recenica.find(rijec);
    while (pozicija != string::npos)
    {
       pozicija = recenica.find(rijec, pozicija + rijec.length());
       broj++;
    }
    return broj;
}

 

 

 

Poruka je uređivana zadnji put uto 30.4.2013 22:26 (Floki).
 
0 0 hvala 0
12 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav,

 

imam jedno možda glupo pitanje, ali jednostavno sam znatiželjan. Vidim da dosta vas koristite naredbe printf i scanf umjesto cout i cin. Budući da učim po knjizi Demistificirani c++ (te još neke internetske stranice) do sada se u knjizi nisam susreo s tim naredbama, a trenutno sam na oko 280. stranici. Proučio sam malo te naredbe i vidim da potječu iz C-a i za sad sam jedino primjetio da se program kompajlira brže kada se ne koristi biblioteka <iostream>  nego <stdio.h> u kojoj se nalaze te naredbe. E sad me zanima koje stvari tu još utječu, te u kojim slučajevima koristite te naredbe.

Hvala.

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
neznam123456 kaže...
E sad me zanima koje stvari tu još utječu,

Utječu na što? Brzinu kompajliranja? Templatei su glavni (iako ne i jedini) uzročnik sporijeg kompajliranja C++ programa u odnosu na C programe. Definitivno o tome ne bi trebao razbijati glavu uzimajući u obzir brzinu današnjih računala, te veličinu programa kakvi se na ovom pdf-u uglavnom pišu.

 

neznam123456 kaže...
te u kojim slučajevima koristite te naredbe.

U mom slučaju nema pravila, stavim što mi se sprdne. Naravno, ne budem u C program nagurao cin/cout, ali u C++ programu može i printf/scanf i cin/cout...

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

Pozdrav,trebao bih pomoć što se tiče zadatka. Tekst zadatka je: Prebrojati koliko je brojeva djeljivis sa 13 od 5 do 150.

Tu mi izbacuje grešku sa /clr, a mi to u školi nismo uopće trebali upisivati. Otišao sam u postavke, i postavljeno mi je compile as C code!

Može pomoć? LP

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

int main()

{

 

   return 0;

}

 

napomena - 13 je prim broj, to znači da petlja može ići od 13, ništa prije njega nije djeljivo s njim.

 

 

Međutim, to se može i ovako, množiš svaki broj i  sa 13 dok vrijedi uvjet i*13<150

 

 

#include <iostream>
using namespace std;


int main()
{
    int i, broj = 0;
    for(i=1; i*13<150; i++)
       broj++;
    return 0;
}

 

pa onda da počneš petlju sa i = 13, i inkrementiraš i za 13 do 150, što ostavljam tebi.

Poruka je uređivana zadnji put čet 2.5.2013 14:35 (Floki).
 
1 2 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jel se može tabulirati tekst u ListBoxu? pokušavao sam no čak mi se i ruši program, možda nešto krivo radim

 

Ujedno kako da napravim da se sam odskrola skroz dolje? 

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

Jel se može tabulirati tekst u ListBoxu? pokušavao sam no čak mi se i ruši program, možda nešto krivo radim

Pogledaj ovo:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775149%28v=vs.85%29.aspx#LBS_USETABSTOPS

 

a zatim ovo:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb761354%28v=vs.85%29.aspx

 

I onda u tekst samo dodaješ '\t' znak kako bi odredio gdje ide tab. Iako mi se čini da pokušavaš sa ListBoxom raditi nešto za što je ListView prikladniji.

 

cpp freak kaže...
Ujedno kako da napravim da se sam odskrola skroz dolje? 

Pošalji kontroli poruku LB_SETCURSEL

http://msdn.microsoft.com/en-us/library/windows/desktop/bb761342%28v=vs.85%29.aspx

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

Ako te kužim needle je substring koji tražimo?

 

Kad to primjenim, onda ovako:

 


int FindSubString(string recenica, string rijec)
{   int broj = 0;
    size_t pozicija = recenica.find(rijec);
    while (pozicija != string::npos)
    {
       pozicija = recenica.find(rijec, pozicija + rijec.length());
       broj++;
    }
    return broj;
}

 

Da, to je iz one fraze needle in a haystack Iako mi tu trazimo vise njih... ovaj kod ne znam jel dobar jer ne mogu napamet ga istestirati..., npr jel treba + rijec.length()-1 ili je ok i sa rijec.length() ...  :D

uglavnom htio sam reci zamisli da imas string od 100k u kojem trazis string od 10k... ako si ga nasao, ne moras se pomicati samo za 1, nego mozes za 10k... sad je naravno pitanje jel to legalna optimizacija ili n(ovisi sto se podrazumijeva pod pojavljivanje)

npr koliko se puta aa pojavluje u aaa... ako je odgovor 1 onda mozes, ako je odgovor 3 puta onda se moras pomicati samo za 1...

 

 

 

neznam123456 kaže...

Pozdrav,

 

imam jedno možda glupo pitanje, ali jednostavno sam znatiželjan. Vidim da dosta vas koristite naredbe printf i scanf umjesto cout i cin. Budući da učim po knjizi Demistificirani c++ (te još neke internetske stranice) do sada se u knjizi nisam susreo s tim naredbama, a trenutno sam na oko 280. stranici. Proučio sam malo te naredbe i vidim da potječu iz C-a i za sad sam jedino primjetio da se program kompajlira brže kada se ne koristi biblioteka <iostream>  nego <stdio.h> u kojoj se nalaze te naredbe. E sad me zanima koje stvari tu još utječu, te u kojim slučajevima koristite te naredbe.

Hvala.

cout ti je type safe, sto znaci da za razliku od printfa ne  mozes isprintati float interpretiran kao int recimo... ali uglavnom ne zamaraj se sa time... vjeruj mi, problem je sto ljudi prvo krenu sa jednostavnim programima unesi ispisi pa se zamaraju sa time, ali imas tonu bitnijih stvari za nauciti... mislim kada narastes :D mozes se igrati sa boost format, folly format i tako ...

https://github.com/facebook/folly/blob/master/folly/docs/Format.md

http://www.boost.org/doc/libs/1_53_0/libs/format/example/sample_formats.cpp

ukratko iostreams nije najsvijetlija tocka C++a ( to je STL naravno :D) ali to IRL uopce nije takav veliki problem. Mislim je mali jer je iostream stvarno ogroman header, npr vidi:

http://stackoverflow.com/questions/4300696/need-entry-level-explanation-of-iosfwd-in-c

 

 

 

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

Da, ja sam ga testirao, OK je.

Npr.

maca je dobra maca

maca

 0 + 4 = 4

iza riječi maca idemo u drugu iteraciju sa pozicije recenica[4]

iza zadnje rijeći maca baci npos jer provjerava na poziciji 18, koju dobije zbrojem pozicije recenica[14] + 4, na kojoj baci npos, dakle za nepostojeću

poziciju stringa funkcija find baci npos. Kad u istoj rečenici tražimo slovo a - rezultat je 5, dakle funkcija find ispravno radi sa rijec.length().

U stvari za slučaj traženja jednog slova rijec.length()-1 bi ušlo u beskonačnu petlju.

 

Kužim što hoćeš reći za taj pomak:

mmm

mm

Kad ne idemo za 1, nego za mm, tu imamo jednu riječ mm, kad bi išli za 1 imali bi 2 mm

Da, pitanje je što tražimo, za riječi je needle OK.

 

Zbunio si me sa onim needle, mislim se, koji mu je sad to metod, ajd neka, volim zagonetke ponekad, a ova mi se baš svidjela.{#}

Poruka je uređivana zadnji put pet 3.5.2013 22:35 (Floki).
 
0 0 hvala 0
E-mail:
Lozinka:
 
vrh stranice