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

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

C++ 11 ima unordered_set.

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

Spremiti rijeci (string) u vector pa, ili pomocu iteratora, ili koristeci neku od metoda(tipa find) provjeriti sadrzi li vector tu random rijec ?

Poruka je uređivana zadnji put uto 26.2.2019 18:58 (malak).
 
1 0 hvala 0
8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

@malak Zahvaljujem i tebi i Boo-boo-u :D 

7 godina
offline
Programiranje u C++-u - pitanja i odgovori
Dan, u školi smo učili funkcije i nakon 2. sata obrađivanja funkcija profesor nam je pokazao 2 vrste sintakse za funckiju, te postavio domaci da otkrijemo kad koju treba koristiti i koje prednosti ima,istrazivao sam po googleu i youtube ali ne uspjesno... Moze pomoc?
PSN:nikolacurak
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
7 godina
offline
Programiranje u C++-u - pitanja i odgovori
Nisam siguran da je to to sta ja trazim. On je nama pokazao vrstu kad se funkcija pise prije int maina i iza. Na nama je da otkrijemo koju kad treba koristiti...
PSN:nikolacurak
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Daj primjer
16 godina
offline
Programiranje u C++-u - pitanja i odgovori

Vjerojatno misli na deklaraciju i definiciju funkcije 

 
0 0 hvala 0
7 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Moguce da je to... 1 vrsta je bila kad se pozove funkcija pa ide int main pa definicija funkcije a 2 vrsta odmah definicija funkcije pa int main pa unutar njega poziv funkcije. Koja je razlika ova 2 nacina i kad se koristi jedan a kad drugi
PSN:nikolacurak
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
A?
7 godina
offline
Programiranje u C++-u - pitanja i odgovori
1 Vrsta

int pomnozi(int x,int y)
{
........
}

int main()
{
..............
p=pomnozi (a,b);
......
}


2 Vrsta

p=pomnozi (a,b);

int main(){
..............
}

int pomnozi(int x,int y)
{
........
}

Mislim da je to to
PSN:nikolacurak
 
0 0 hvala 0
7 godina
offline
Programiranje u C++-u - pitanja i odgovori

Evo ako sam krivo napisao to je ovo... (slike)

PSN:nikolacurak
Poruka je uređivana zadnji put čet 14.3.2019 16:10 (Nikolacurak).
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ne
Daj nam primjer što je profesor dao
Poruka je uređivana zadnji put čet 14.3.2019 16:09 (Dex.pwn).
11 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

"Forward deklaracija", mozes googlat za vise. Moras ili potpuno definirat funkciju prije koristenja u source fileu ili barem deklarirat prototype a definirat tijelo kasnije.

Nuzna je ako imas "vezane rekurzivne" funkcije tipa A zove B i B zove A. Osim toga je vise stvar preferenci. Prednost fwd deklaracije je da ne moras brinut oko poretka funkcija.

7 godina
offline
Programiranje u C++-u - pitanja i odgovori
Hvala i oprostite na spamu teme, nov sam u ovome...
PSN:nikolacurak
 
1 0 hvala 0
5 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav!

 

Trebao bih pomoć oko ovog zadatka: Ulaz: prirodan broj N, Izlaz: Zbroj svih neparnih potencija broja 2 kojima su eksponenti od 0 do N. Pritom se nesmije koristiti cmath biblioteka.

Ja sam to ovako zamislio, ali program mi iz nekog razloga ne izbacuje rezultat:

 

#include <iostream>
using namespace std;

int main()
{
    int N;
   int a = 2;
   int b = 0;
   
   cout << "Broj N: ";
   cin >> N;
   
   while(N < 0 && N > 32)
   {
      cout << "Neispravan unos! Unesite prirodan broj: ";
      cin >> N;
   }
   
   while(N > 0 && N < 32)
   {
      for(int i = 1; i <= N; i++)
      {
         a = a * a;
         
         if((i%2) != 0)
         {
            b += a;
         }
      }   
   }
   
   cout << "Zbroj je = " << b << endl;
   
   system("pause");
   return 0;
}

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

while(N > 0 && N < 32)

 

Jer imaš beskonačnu petlju, ovaj uvjet je uvijek istinit. Ovako nabrzinu, nešto u ovom stilu:

 

int sum = 0;

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

   int a = 1;

   for(int j = 1; j <= i; j++)

     a *= a;

   if(a%2 != 0)

     sum += a;

}

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

#include <iostream>
using namespace std;

int power(int x,int y){
  int result = 1;
  for (int i=0; i<y; i++){
    result *= x;
  }
  return result;
}


int main()
{
  int N;
  int a = 2;
  int suma = 0;

  cout << "Broj N: ";
  cin >> N;

  while(N < 0){
    cout << "Neispravan unos! Unesite prirodan broj: ";
    cin >> N;
  }
  while(N > 32){
    cout << "Neispravan unos! Unesite broj manji od 32: ";
    cin >> N;
  }

  for (int i=1;i<=N;i++){
    if(i%2 == 0){
     continue;
    }
    suma += power(a, i);
  }

  cout << "Zbroj je = " << suma << endl;

  return 0;

}

 

EDIT: Ovo sam napisao u hodu, mislim da si na ovo ciljao, kada ti ne daju da koristiš pow() iz math.h, napiši fino svoju funkciju ;)

Trust nobody, become the best !
Poruka je uređivana zadnji put pon 1.4.2019 23:02 (Mr.ddevil).
5 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

@wAlpha Da, probao sam sad na taj način, ali mi ne izbacuje točan rezultat (kada je N = 6, na izlazu bi trebao biti 42). Osim ako nisam negdje napravio grešku:

#include <iostream>
using namespace std;


int main()
{
    int N;
   int a = 1;
   int b = 0;
   
   cout << "Broj N: ";
   cin >> N;
   
   while(N < 0 && N > 32)
   {
      cout << "Neispravan unos! Unesite prirodan broj: ";
      cin >> N;
   }
   
   for(int j = 0; j <= N; j++)
   {
      for(int i = 1; i <= j; i++)
      {
         a = a * a;
         
         if((a%2) != 0)
         {
            b += a;
         }
      }   
   }
   
   cout << "Zbroj je = " << b << endl;
   
   system("pause");
   return 0;
}

 

 

@Mr.ddevil Rado bih ja to tako, ali na faksu idemo postupno s gradivom naprijed i nažalost smijemo koristiti u kodu samo ono što smo dosad radili (do while petlja zadnje), tako da nemam ni tu mogućnost da napišem svoju funkciju (barem za sada). :)

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

Krivo si prepisao, if nejde pod drugu petlju.

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

Ako za N=6 rezultat mora biti 42, onda ti moje rješenje paše, ali nije mi jasno što provjeravaš ovim uvjetom:

 

"while(N < 0 && N > 32)"

 

Ovo ti znači N manji od nula i n veći od 32, vraća true samo ako su oba uvjeta ispunjena 

Trust nobody, become the best !
5 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

@wAlpha Stavio sam if sad pod prvu petlju, ali mi za N=6 vraća 7.

 

@Mr.ddevil Da, imaš pravo. Tu treba ići logički operator OR, ispravio sam. Hvala :)

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

Btw Evo uspio sam doći do rješenja koje mi odgovara:

 

#include <iostream>
using namespace std;

int main()
{
   int N;
   int a = 1;
   int b = 2;
   int c = 0;
   
   cout << "Broj N: ";
   cin >> N;
   
   while(N < 0 || N > 32)
   {
      cout << "Neispravan unos! Unesite prirodan broj: ";
      cin >> N;
   }
   
   for(int i = 1; i <= N; i++)
   {
      a = a * b;
      if((i%2!=0))
      {
         c += a;
      }
   }
   
   cout << "Zbroj je = " << c << endl;
   
   system("pause");
   return 0;
}

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

Pozdrav,

Jel mi možete pomoći oko izrade funkcije koja bi radila sljedeće:

- Funkcija bi trebala usporediti prošlu vrijednost(prije nego što se vrijednost spremila) sa sadašnjom(iz RAMa). U toj usporedbi se treba vidjeti koji su bajtovi promjenjeni.

 

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

Kako misliš iz RAM-a? U programiranju postoji samo stack i heap. Misliš iz heapa? Preko pointera? Programiraš na windowsima? Možeš koristiti globalnu varijablu ili static varijablu za spremanje stare varijable i XOR operaciju za provjeru promjene bitova/baytova.  AND koristiš za provjeru svakog pojedinačnog bita.

https://www.youtube.com/channel/UCgos5WloYoxCvCeUIi47ZxQ
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
U pitanju je Arduino. Dakle u EEPROM spremam bajtove(osam bita). Ako želim 32 bitnu varijablu spremit u EEPROM moram ju odvojiti na 4 bajta. Znači moram četiri puta spremiti kako bi vrijednost u EEPROMu bila ispravna. A sad želim napravit funkciju koja bi usporedila prošlu vrijednost (prije spremanja) i sadašnju te spremiti samo bajtove koji su promijenjeni.
Npr ako je vrijednost prije spremanja bila 10, a sada je 200, trebao bi spremiti samo zadnji bajt (4. bajt ako se gleda s lijeva na desno).
Predpostavljam da do 255 se mijenja samo zadnji bajt, od 255 do 65535 se mijenja sami zadnja dva
Poruka je uređivana zadnji put pet 12.4.2019 10:09 (Dex.pwn).
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

-loša ideja, pogrešna.. ne možeš tako uštedjeti vrijeme-cikluse, naprotiv, .. imao bi dio koda koji konstantno usproava rad besmislenim traženjem izuzetka da bi uštedio koji byte u takvom izuzetku.. a podatak moraš učitati da bi mogao usporediti.. ne isplati se, čak ni s eepromom.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
7 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Mislim da nepotrebno kompliciraš. Ili ne razumjem zašto ti to treba. Nije valjda da konstantno nešto zapisuješ.  

https://www.youtube.com/channel/UCgos5WloYoxCvCeUIi47ZxQ
12 godina
odjavljen
offline
Re: Programiranje u C++-u - pitanja i odgovori
Svakih 10-15 sekundi treba zapisati cca 10 varijabli (5 32b 5 64b varijable).
Svako zapisivanje bajta uzme cca 5ms(zbog eeproma) koje mi zamrzne MCU. To zapisivanje ću prebaciti na pagewrite no želim dodatno ubrzati pojedinačno zapisivanje kako bi čuvao eeprom
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

pogrešan pristup.. sve pripremiš pa onda zapišeš (može i backup prije..), koristit kao sekvencijalne memorije, ne kao ram.. jer je to eeprom (sporo). Zato se u nromalnom radu i ne koriste romovi nego se kopiraju u ram itd..

tj KISS kaže, što manje čačkanja eeproma, ako je moguće skoro nikad.. za pristup-korištenje koristiti bilo što drugo, sd/flash/ssd... ili ram ako ga ima dovoljno, jer eeprom nije ram.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
E-mail:
Lozinka:
 
vrh stranice