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

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

A što radi funkcija vrijeme_proteklo? Koliko vidim sav ovaj source je posve nebitan za problem koji imaš, jer je sve zanimljivo upravo u funkciji čiji kod nisi stavio :P

 

Sreži taj kod na minimum minimuma a da je problem i dalje prisutan.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
13 godina
neaktivan
offline
Re: Programiranje u c++-u- pitanja i odgovori
rustweaver kaže...

A što radi funkcija vrijeme_proteklo? Koliko vidim sav ovaj source je posve nebitan za problem koji imaš, jer je sve zanimljivo upravo u funkciji čiji kod nisi stavio :P

 

Sreži taj kod na minimum minimuma a da je problem i dalje prisutan.

Ta funkcija je iz biblioteke koju mi je profesor dao...Uglavnom u ostatku programa(u biti kalkulator) ona radi bez problema.

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
12 godina
offline
Programiranje u C++-u - pitanja i odgovori

Možeš napisati što se traži u zadatku i gdje ti je funkcija povrsina. Ovo sa else if else if, nema smisla puno

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

Ta funkcija je iz biblioteke koju mi je profesor dao...Uglavnom u ostatku programa(u biti kalkulator) ona radi bez problema.

Daj uploadaj onda tu biblioteku i prateće headere negdje da vidim.

 

Jesi li siguran da pravilno koristiš funkciju? Kada se tako mjeri vrijeme prvo se zabilježi trenutno vrijeme u neku varijablu, zatim se odradi nešto (nazovimo to X), pa se ponovno zabilježi trenutno vrijeme i onda se od tog drugog vremena oduzme ono prvo (novo_vrijeme - staro_vrijeme), i razlika je u biti vrijeme koje je proteklo na obavljanje X-a. Ako oduzimaš obratnim redoslijednom, staro_vrijeme - novo_vrijeme, dobit ćeš negativan broj, iako će apsolutna vrijednost te razlike i dalje davati točno vrijeme.

 

Ako brojiš milisekunde, onda bi ti se kod označenog integera vrijednost prelila tek nakon ~25 dana. Tako da mislim da prelijevanje možemo isključiti.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
15 godina
offline
Re: Programiranje u c++-u- pitanja i odgovori
g12356 kaže...

Pozdrav...imam pitanje.

U ovom primjeru koda:...

 

Iz nekog razloga,varijabla vrijeme postane negativna.Ne mislim da se radi o overflowu,nego ona bi npr. trebala biti 400 a ona postane -400.

 

Šta se tu događa,kako to popraviti?

probaj na kraj programa stavit vrijeme_kraj();
koliko vidim trebo bi racunat povrsinu trokuta..

vrijeme_pocetak();

pretpostavljam da je to na foi prog2, pa probaj ovako

 

float povrsina(float a, float b, float c){

   float s = ((a + b + c) / 2);

   return sqrt(s*(s-a)*(s-b)*(s-c));

   }

//funkcija za herona

 

//u main

 

vrijeme_pocetak();

                 cout << "Unesi a: ";

                 cin >> a;

                 cout << "Unesi b: ";

                 cin >> b;

                 cout << "Unesi c: ";

                 cin >> c;

                 if(a<=0 || b<=0 || c<=0) cout << "Unesene stranice nisu dobre!" << endl;

                 if(a<=0 || b<=0 || c<=0) break;

                 if(!(a<b+c && b<a+c && c<a+b) ) cout << "Unesene stranice ne cine trokut!" << endl;

                 if(!(a<b+c && b<a+c && c<a+b) ) break;

                 cout << "Povrsina je: " << povrsina(a, b, c) << endl;

                 vrijeme_kraj();

                 cout << "Proteklo vrijeme: " << vrijeme_proteklo() << "ms" << endl;

 

ps, pisano je za verifikator tako da nisam stavljo blokove kod ifova...

Umro je Einstein, umro je Newton, ni ja se ne osjećam baš najbolje.. :(
Poruka je uređivana zadnji put ned 19.10.2014 15:18 (LUNAT1C).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Da,sad pred sat vremena sam skužio da sam to zaboravio...Eto vam hvala svima btw.

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
Poruka je uređivana zadnji put ned 19.10.2014 19:44 (g12356).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Dobro veče.

 

Rješavam stvari na Project Euleru, no imam problem sa trenutnim zadatkom. Zadatak kaže da treba naći umnožak abc, ako je a < b < c, ako je a + b + c = 1000, i ako je a^2 + b^2 = c^2. Evo link.

 

Evo ono što sam ja dosad napravio.

 

#include <stdio.h>

#include <math.h>

 

int main()

{

   int a, b, c;

   int a2, b2, c2;

   int limit = 100;

   int sum, product;

 

   for (a = 0; a < limit; a++)

   {

     a2 = a * a;

 

     for (b = 0; b < limit; b++)

     {

       b2 = b * b;

 

       c2 = a2 + b2;

       c = sqrt(c2);

 

       if (a < b && b < c)

       {

         sum = a + b + c;

 

         if (sum = 1000)

         { 

           product = a * b * c; 

           printf("A:%d\tB:%d\tC:%d\tABC:%d\n", a, b, c, product);

         }

       }

     }

   }

}

 

Problem je u tome što izgleda da ovaj if (sum = 1000) ne radi ništa. Evo skrinšot

 Znam da u teoriji ako postavim limit = 100, suma a + b + c nikad neće ni biti 1000, što mi sve ovo čini još nejasnijim. Još jedna napomena, ovo je C, ne C++; ne znam koliko je to važno.

 

EDIT: shvatio sam. Umjestio if (sum = 1000) treba ići if (sum == 1000). Pardon, ignorirajte post.

Trava raste tamo gdje je posadiš.
Poruka je uređivana zadnji put sub 25.10.2014 22:59 (Medikus).
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Medikus

imas jos jednu gresku, pogledaj 3. i 4. liniju na izlazu
btw unutarnja for petlja moze da ide od a + 1 umjesto od 0 i vanjska for petlja treba da ide od 1 jer a = 0 nije rijesenje, ali to i nije neki problem

12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
srky.du kaže...

@Medikus

imas jos jednu gresku, pogledaj 3. i 4. liniju na izlazu
btw unutarnja for petlja moze da ide od a + 1 umjesto od 0 i vanjska for petlja treba da ide od 1 jer a = 0 nije rijesenje, ali to i nije neki problem

Da, pošto je c int, sqrt(c2) ga zaokružuje na najbliži int umjesto da mu da pravu vrijednost. Obje petlje mogu početi od nekih 20-ak, počeo sam od nule čisto jer sam navikao tako pisati petlje.

Trava raste tamo gdje je posadiš.
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav svima,

Ja i frend radimo na ispisivanju 2d arraya u ascii tablicu, a naravno ja sam zapeo na djelu pa sam došao na forum da se raspitam kod iskusnijih ljudi.

Naime trebalo bi me usmjerit na koj način bi mogao "passat" 2d array u funkciju bez veličine te normalno u funkciji ispisat podatke. 

 

primjer arraya

std::string arr[][] = {

             {"Prvi red", "Drugi red", "Treci red"},

             {"1", "2", "3"},

             {"2", "3", "2"},

             {"3", "1", "1"}

   };

 

Hvala. 

Nemam vremena, jer mi se ništa neda, a da mi se i da, nebi imo vremena.
 
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

S obzirom da je tvoj 2d niz nedefinirane veličine najbolje je koristiti vektore koji su ionako dinamički proširivi. S njima bi to izgledalo na sljedeći način:

 

#include <iostream>
#include <string>
#include <vector>
using namespace std;

void ispis2d(const vector<vector<string> > &x){
    for(int i = 0; i < x.size(); i++){
       for(int j = 0; j < x[i].size(); j++)
          cout << x[i][j] << "\t";
       cout << endl;
    }
}
int main(){
    vector<vector<string> > arr = { {"Prvi red", "Drugi red", "Treci red"},
                          {"1", "2", "3"},
                          {"2", "3", "2"},
                          {"3", "1", "1"} };
    ispis2d(arr);
    return 0;
}

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

Malo sam ti prepravio TracerCPP - ov odgovor.

Ovako je čitljivije i više C11 style.

 

 

#include <iostream>
#include <string>
#include <vector>
using namespace std;
using vvs = vector<vector<string>>;

void print(const vvs & v)
{
  for (auto x:v)
  {
    for (auto y:x)
         cout << y << "\t";
    cout << endl;
  }
}


int main()
{
  vvs arr {
  {"Prvi red", "Drugi red", "Treci red"},
  {"1", "2", "3"},
  {"2", "3", "2"},
  {"3", "1", "1"}
  };

  print(arr);
  return 0;
}

moje aplikacije na play-u : https://play.google.com/store/search?q=nik02droid
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
nik_02 kaže...

...


using vvs = vector<vector<string>>;

Ovo je greška. Na kraju treba biti razmak između >> jer je to inače poziv operatora.

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

...


using vvs = vector<vector<string>>;

Ovo je greška. Na kraju treba biti razmak između >> jer je to inače poziv operatora.

 

Netočno   

 

 

Stroustrup :  

 

list<vector<string>> lvs;

In C++98 this is a syntax error because there is no space between the two >s.  

C++11 recognizes such two >s as a correct termination of two template argument lists.

...

http://www.stroustrup.com/C++11FAQ.html

moje aplikacije na play-u : https://play.google.com/store/search?q=nik02droid
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Lijepo. Nisam znao da su i to promijenili. No svejedno ja uvijek stavim razmak da se zna da to nije operator >>. Tako mi je čitljivije.

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

Pozdrav svima, imam sitni problem u C-u, pa posto su jezici slicni postat cu ovdje:

 

 

Dobio sam na faxu zadatak da napisem program koji "kompresira" datoteke na ulazu i spremi ih kao novu datoteku sa dodatnim nastavkom ".comp". Npr. text.txt - text.txt.comp. Kompresija funkcionira tako da nizove slova, npr. aaa spremi kao a3 ili b kao b1

 

Kad sam napravio funkciju int compress(FILE *, FILE *) radila je super, ali sam kasnije mijenjao code i sigurno sam napravio neku gresku sa pointerima ili fopen funkcijama. Pokusao sam sve i svasta, ali na kraju ne fukncionira. Malo sam testirao code i otkrio sam da se while petlja u funkciji compress() uopce ne izvrsava, jer je varijabla c odmah na pocetku dobije vrijednost EOF.

 

 

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

 

 

int countchars(FILE *);

int compress(FILE *, FILE *);

 

int main(int argc, char *argv[]){

 

   FILE *fp;

   FILE *cfp; //compresed file pointer

 

   char *prog = argv[0]; //program name for error messages

   //compressed file name

 

   if(argc==1){

     compress(stdin, stdout);

   } else {

 

     while(--argc>0){

 

       if ((fp = fopen(*++argv, "r")) == NULL){

         fprintf(stderr, "%s: can't open %s\n", prog, *argv);

         exit(1);

       } else {

 

         char *cfname = malloc(sizeof(*argv) + 6); 

         strcpy(cfname, *argv);

         strcat(cfname, ".comp");

 

         if ((cfp = fopen(cfname, "w")) == NULL){

           fprintf(stderr, "%s: can't create %s\n", prog, cfname);

           exit(2);

         } else {

           printf("%s: %d\n", *argv, countchars(fp));

           printf("%s: %d\n", cfname, compress(fp, cfp));

           fclose(fp);

           fclose(cfp);

         }

 

         free(cfname);

       }

     }

   }    

 

   if(ferror(stdout)){

     fprintf(stderr, "%s: error writting stdout\n", prog);

     exit(3);

   }

 

   exit(0);

}

 

int countchars(FILE *ifp){

   int c;

   int count = 0;

 

   while((c=getc(ifp)) != EOF)

     count++;

 

   return count;

}

 

int compress(FILE *ifp, FILE *ofp){

 

   int c; 

   int prev = 0;

   int count=0;

   int n=0;

 

   while((c = fgetc(ifp)) != EOF){

 

     if(prev == 0){

       putc(c, ofp);

       n++;

       prev = c;

       count++;

       continue;

     }

 

     if(c == prev){

       count++;

     } else {

 

       if(count>0 || (count==1 && c=='\n')){

         putc('0'+count, ofp);

         n++;

       }

 

       putc(c, ofp);

       n++;

       prev = c;

       count=1;

     }

 

 

   }

 

   return n;

}

 

 

 

Input: Text1.txt:

 

aaabbbbbc

dddddddde

ggghhhhha

 

 

 

 

Ocekivani izlaz u Text1.txt.comp:

 

a3b5c1

1d8e1

1g3h5a1

1

 

 

 

Ocekivani izlat u konzoli:

 

Text1.txt: 30

Text1.txt.comp: 22

 

www.smashthemall.com | iOS - www.goo.gl/7oDsoF | Android - www.goo.gl/PGznaz | FB: www.goo.gl/mC6Ls6
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nego,dali tko od vas zna kako dev c++ natjerati da kompajlira c++14?

 

Ja sam pokušao sa -std=c++1y i -std=c++14

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

C++11 ti nije dovoljno dobar? Što ti točno treba iz C++14 standarda?

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

Pozdrav svima, imam sitni problem u C-u, pa posto su jezici slicni postat cu ovdje:

Možeš napisati točno zadatak. Da li se trazi baš datoteka sa nastavkom .txt? Jer nju otvoriš lako i prodješ kroz text i prebrojis slova, i što ako je slučaj da su slova recimo redom ovako ispisana: aaaabbbabb, da li treba ovako izgledati? a4b3a1b2?

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

Nego,dali tko od vas zna kako dev c++ natjerati da kompajlira c++14?

 

Ja sam pokušao sa -std=c++1y i -std=c++14

DevC++ nema veze s time. Ono što tražiš su postavke kompajlera, onog kojeg DevC++ koristi dakle: GCC (ili njegova Windows inačica - MinGW). Dakle treba ti verzija GCC-a koja ima podršku za to što tražiš, i točan naziv postavke koja aktivira to što tražiš.

 

https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.8.3/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/

 

Eto ti manuali za unazad nekoliko verzija pa kopaj..

 

Evo ti i tabela onoga što je podržano a što nije:

https://gcc.gnu.org/projects/cxx1y.html

 

Kao što vidiš za mnogo toga ti treba barem GCC 4.9, neke značajke će doći sa GCC 5.0, a podrška za neke se još niti ne nazire...

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put pet 7.11.2014 8:00 (rustweaver).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
k1c0 kaže...

Pozdrav svima, imam sitni problem u C-u, pa posto su jezici slicni postat cu ovdje:

 

 

Dobio sam na faxu zadatak da napisem program koji "kompresira" datoteke na ulazu i spremi ih kao novu datoteku sa dodatnim nastavkom ".comp". Npr. text.txt - text.txt.comp. Kompresija funkcionira tako da nizove slova, npr. aaa spremi kao a3 ili b kao b1

 

Kad sam napravio funkciju int compress(FILE *, FILE *) radila je super, ali sam kasnije mijenjao code i sigurno sam napravio neku gresku sa pointerima ili fopen funkcijama. Pokusao sam sve i svasta, ali na kraju ne fukncionira. Malo sam testirao code i otkrio sam da se while petlja u funkciji compress() uopce ne izvrsava, jer je varijabla c odmah na pocetku dobije vrijednost EOF.

 

 

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

 

 

int countchars(FILE *);

int compress(FILE *, FILE *);

 

int main(int argc, char *argv[]){

 

   FILE *fp;

   FILE *cfp; //compresed file pointer

 

   char *prog = argv[0]; //program name for error messages

   //compressed file name

 

   if(argc==1){

     compress(stdin, stdout);

   } else {

 

     while(--argc>0){

 

       if ((fp = fopen(*++argv, "r")) == NULL){

         fprintf(stderr, "%s: can't open %s\n", prog, *argv);

         exit(1);

       } else {

 

         char *cfname = malloc(sizeof(*argv) + 6); 

         strcpy(cfname, *argv);

         strcat(cfname, ".comp");

 

         if ((cfp = fopen(cfname, "w")) == NULL){

           fprintf(stderr, "%s: can't create %s\n", prog, cfname);

           exit(2);

         } else {

           printf("%s: %d\n", *argv, countchars(fp));

           printf("%s: %d\n", cfname, compress(fp, cfp));

           fclose(fp);

           fclose(cfp);

         }

 

         free(cfname);

       }

     }

   }    

 

   if(ferror(stdout)){

     fprintf(stderr, "%s: error writting stdout\n", prog);

     exit(3);

   }

 

   exit(0);

}

 

int countchars(FILE *ifp){

   int c;

   int count = 0;

 

   while((c=getc(ifp)) != EOF)

     count++;

 

   return count;

}

 

int compress(FILE *ifp, FILE *ofp){

 

   int c; 

   int prev = 0;

   int count=0;

   int n=0;

 

   while((c = fgetc(ifp)) != EOF){

 

     if(prev == 0){

       putc(c, ofp);

       n++;

       prev = c;

       count++;

       continue;

     }

 

     if(c == prev){

       count++;

     } else {

 

       if(count>0 || (count==1 && c=='\n')){

         putc('0'+count, ofp);

         n++;

       }

 

       putc(c, ofp);

       n++;

       prev = c;

       count=1;

     }

 

 

   }

 

   return n;

}

 

 

 

Input: Text1.txt:

 

aaabbbbbc

dddddddde

ggghhhhha

 

 

 

 

Ocekivani izlaz u Text1.txt.comp:

 

a3b5c1

1d8e1

1g3h5a1

1

 

 

 

Ocekivani izlaz u konzoli:

 

Text1.txt: 30

Text1.txt.comp: 22

 

 

Luka123 kaže...
k1c0 kaže...

Pozdrav svima, imam sitni problem u C-u, pa posto su jezici slicni postat cu ovdje:

Možeš napisati točno zadatak. Da li se trazi baš datoteka sa nastavkom .txt? Jer nju otvoriš lako i prodješ kroz text i prebrojis slova, i što ako je slučaj da su slova recimo redom ovako ispisana: aaaabbbabb, da li treba ovako izgledati? a4b3a1b2?

 

Nije bitno koji je nastavak datoteke. Treba tako izgledati, kao sto sam i napisao na dnu: Input -> Output

 

NOTE: Problem nije u algoritmu za kodiranje (radio je, dok nisam mijenjao kod vezan za fopen()), nego negdje u pointerima ili funkciji fopen()...

 

EDIT: Rjeseno! Greska je bila u tome da nisam pozvao funkciju rewind(FILE *); koja vraca getc(); counter na 0, nakon sto sam prebrojao znakove/napisao novi fajl! :)

www.smashthemall.com | iOS - www.goo.gl/7oDsoF | Android - www.goo.gl/PGznaz | FB: www.goo.gl/mC6Ls6
Poruka je uređivana zadnji put pet 7.11.2014 15:02 (k1c0).
12 godina
offline
Programiranje u C++-u - pitanja i odgovori

Iskreno svaka cast k1c0, imao sam predmet Strukture podataka i algoritmi na fakultetu, ali ovakvu tezinu zadatka nismo imali.
Imali smo slican zadatak da otvorimo .txt file i prebrojimo slova ili tako nesto i da se to ispise na ekran, ali compresiju nikad radili.
Malo sam i googleao da vidim o cemu se radi, i kako se otvaraju datoteke kojima nije bitna ekestenzija jeli .txt ili nesto drugo ali nisam nasao, da li imas neku dobru stranicu/clanak ili skriptu volio bih malo procitati.

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

C++11 ti nije dovoljno dobar? Što ti točno treba iz C++14 standarda?

Ništa,radim seminar na tu temu.

rustweaver kaže...
g12356 kaže...

Nego,dali tko od vas zna kako dev c++ natjerati da kompajlira c++14?

 

Ja sam pokušao sa -std=c++1y i -std=c++14

DevC++ nema veze s time. Ono što tražiš su postavke kompajlera, onog kojeg DevC++ koristi dakle: GCC (ili njegova Windows inačica - MinGW). Dakle treba ti verzija GCC-a koja ima podršku za to što tražiš, i točan naziv postavke koja aktivira to što tražiš.

 

https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.8.3/gcc/

https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/

 

Eto ti manuali za unazad nekoliko verzija pa kopaj..

 

Evo ti i tabela onoga što je podržano a što nije:

https://gcc.gnu.org/projects/cxx1y.html

 

Kao što vidiš za mnogo toga ti treba barem GCC 4.9, neke značajke će doći sa GCC 5.0, a podrška za neke se još niti ne nazire...

Nije stvar u tome.Ja sam mu poslao točne postavke koje on šalje kompajleru a on ne želi raditi.Drugom ide-u dajem sa istim kompajlerom instaliranom u drugom folderu dajem iste postavke i on radi.Ali ide zadan od kolegija ne radi.

Na kraju sam se sa profesorom dogovorio da mogu iz tog drugog ide-a radit ako snimim u video obliku. 

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Luka123 kaže...

Iskreno svaka cast k1c0, imao sam predmet Strukture podataka i algoritmi na fakultetu, ali ovakvu tezinu zadatka nismo imali.
Imali smo slican zadatak da otvorimo .txt file i prebrojimo slova ili tako nesto i da se to ispise na ekran, ali compresiju nikad radili.
Malo sam i googleao da vidim o cemu se radi, i kako se otvaraju datoteke kojima nije bitna ekestenzija jeli .txt ili nesto drugo ali nisam nasao, da li imas neku dobru stranicu/clanak ili skriptu volio bih malo procitati.

Pa i nije nesto tezak zadatak. Mi smo na jednom labosu imali za implementirati (u C-u) Huffmana, LZW kompresiju i CRC. I to nad binarnim datotekama, a ne nad tekstualnim datotekama. Takoder i napisati implementaciju binarnog simetricnog kanala i "poslati" datoteku preko njega, nezasticenu, a potom i zasticenu CRC-om. Zanimljive stvari, svakako.

 

Datoteke mozes otvoriti na dva nacina, binarni nacin i tekstualni nacin. Napominjem da ekstenzije nemaju s tim nikakve veze (sjeti se da su C i Unix napravljeni u isto vrijeme, a na Unixu ekstenzije i nisu previse bitne, Windowsi su ti koji se jako oslanjaju na ekstenzije), mozes imati tekstualni file i bez ekstenzije, a isto tako i binarni. U svakom slucaju, ako je rijec o binarnom fileu, tu radis sa sirovim podacima i da bi ga znao interpretirati moras znati njegovu strukturu (to znaci da je npr., bajt 0xff je upravo to, 0xff - ne mozes ga interpretirati kao slovo ili znak jer nije rijec o tekstualnom nacinu citanja filea). Npr., ako zelis dobro interpretirati JPEG sliku, moras znati kako funkcionira JPEG kompresija, koji bajt u fileu sto predstavlja i kako ga tocno interpretirati.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Luka123 kaže...

Iskreno svaka cast k1c0, imao sam predmet Strukture podataka i algoritmi na fakultetu, ali ovakvu tezinu zadatka nismo imali.
Imali smo slican zadatak da otvorimo .txt file i prebrojimo slova ili tako nesto i da se to ispise na ekran, ali compresiju nikad radili.
Malo sam i googleao da vidim o cemu se radi, i kako se otvaraju datoteke kojima nije bitna ekestenzija jeli .txt ili nesto drugo ali nisam nasao, da li imas neku dobru stranicu/clanak ili skriptu volio bih malo procitati.

Zadatak mi je iz predmeta 'Operacijski Sustavi'. U predmetu 'Algoritmi & Strukture Podataka' programiramo u Javi i dosta je lakse nego u C-u. Ucio sam iz 2. izdanja knjige 'Programiranje u C-u' od Ritchiea (autor C jezika) i Kernighana u kojoj ima jako dosta primjera o uredjivanju datoteka i sve je detaljno opisano. Za napisati "algoritam" bilo je dovoljno primjeniti logiku iz primjera na konkretan problem...

 

 

www.smashthemall.com | iOS - www.goo.gl/7oDsoF | Android - www.goo.gl/PGznaz | FB: www.goo.gl/mC6Ls6
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
k1c0 kaže...
Luka123 kaže...

Iskreno svaka cast k1c0, imao sam predmet Strukture podataka i algoritmi na fakultetu, ali ovakvu tezinu zadatka nismo imali.
Imali smo slican zadatak da otvorimo .txt file i prebrojimo slova ili tako nesto i da se to ispise na ekran, ali compresiju nikad radili.
Malo sam i googleao da vidim o cemu se radi, i kako se otvaraju datoteke kojima nije bitna ekestenzija jeli .txt ili nesto drugo ali nisam nasao, da li imas neku dobru stranicu/clanak ili skriptu volio bih malo procitati.

Zadatak mi je iz predmeta 'Operacijski Sustavi'. U predmetu 'Algoritmi & Strukture Podataka' programiramo u Javi i dosta je lakse nego u C-u. Ucio sam iz 2. izdanja knjige 'Programiranje u C-u' od Ritchiea (autor C jezika) i Kernighana u kojoj ima jako dosta primjera o uredjivanju datoteka i sve je detaljno opisano. Za napisati "algoritam" bilo je dovoljno primjeniti logiku iz primjera na konkretan problem...

 

 

O boze u "Operacijskim sustavima" mi smo instaliravali Linux i radili neki glupi seminarski, a laboratorijske vjezbe su bile katastrofa instaliravanje linuxa i ucenje komandi u terminalu, koje nakraju nisu bile ni bitne jer se ispit sastojao od pitanja o povjesti operacijskih sustava, koje si ucio doslovno iz powerpoint prezentacija {#}
Algoritmi i strukture podataka su bili ucenje algoritama tipa za razna sortiranja(funkcije i primjena), stog etc. i slicno i to sve u C-u.
Ovo o cemu pricam je OSS u Splitu.

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
g12356 kaže...
Nije stvar u tome.Ja sam mu poslao točne postavke koje on šalje kompajleru a on ne želi raditi.Drugom ide-u dajem sa istim kompajlerom instaliranom u drugom folderu dajem iste postavke i on radi.Ali ide zadan od kolegija ne radi.


Na kraju sam se sa profesorom dogovorio da mogu iz tog drugog ide-a radit ako snimim u video obliku. 

Koji DevCpp? Onaj stari, ili ove nove verzije koje Orwell održava? Ako je novi, jesi li ga skinuo sa kompajlerom ili si naknadno išao stavljati? Ako je stari, jesi li siguran da si kako treba zamijenio stari MinGW sa novim? Ajde baš da vidim, i daj neki minimalni test-kod za koji ti je potrebna C++14 podrška da se sad ne gnjavim nego da mogu testirati istu stvar s kojom ti imaš problema. Baš me zanima...

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put sub 8.11.2014 5:13 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kompletno sam sve deinstalirao i reinstalirao.

Radi se o orvellowom devcpp-u.

 

#include <iostream>

using namespace std;

 

template<typename T>

T n = T(5);

 

int main()

{

   n<int> = 10;

   std::cout << n<int> << " ";   // 10

   std::cout << n<double> << " "; // 5

}

 

#include <iostream>

 

struct lambda1 {

   template<typename F>

   auto operator() (F &f) const;

};

 

template<typename F>

struct lambda2 {

   lambda1 const &l1;

   F &f;

   lambda2(lambda1 const &l1, F &f) : l1(l1), f(f) {}

 

   template<typename X>

   auto operator() (X x) const { return f( l1(f))(x); }

}; 

 

template<typename F>

auto lambda1::operator() (F &f) const {

   return lambda2<F>(*this, f);

}   //          ^

   //          |

   //          --- there's no syntax to do this inside a lambda.

 

int main() {

  lambda1 fix;

  auto f = [](auto&&){ return [](int x) {return x;}; };

  std::cout << fix(f)(5) << '\n';

}

 

#include <iostream>

using namespace std;

 

int main ()

{

  // declaring variables:

  int a, b;

  int result;

 

  // process:

  a = 5;

  b = 2;

  a = a + 1;

  result = a - b;

  auto million = 1'000'000;

auto pi = 3.14159'26535'89793;//jednostruki navodnici se sada mogu koristiti svugdje za čitljivost.

 

  // print out the result:

  cout << result<<endl;

cout <<pi<<endl;

cout <<million<<endl;

  // terminate the program:

  return 0;

}

 

 

 

 

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Luka123 kaže...

O boze u "Operacijskim sustavima" mi smo instaliravali Linux i radili neki glupi seminarski, a laboratorijske vjezbe su bile katastrofa instaliravanje linuxa i ucenje komandi u terminalu, koje nakraju nisu bile ni bitne jer se ispit sastojao od pitanja o povjesti operacijskih sustava, koje si ucio doslovno iz powerpoint prezentacija {#}
Algoritmi i strukture podataka su bili ucenje algoritama tipa za razna sortiranja(funkcije i primjena), stog etc. i slicno i to sve u C-u.
Ovo o cemu pricam je OSS u Splitu.

A Dekker? Lamport? Filozofi koji veceraju? Semafori? Monitori? Mutexi?

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
1domagoj1 kaže...
Luka123 kaže...

O boze u "Operacijskim sustavima" mi smo instaliravali Linux i radili neki glupi seminarski, a laboratorijske vjezbe su bile katastrofa instaliravanje linuxa i ucenje komandi u terminalu, koje nakraju nisu bile ni bitne jer se ispit sastojao od pitanja o povjesti operacijskih sustava, koje si ucio doslovno iz powerpoint prezentacija {#}
Algoritmi i strukture podataka su bili ucenje algoritama tipa za razna sortiranja(funkcije i primjena), stog etc. i slicno i to sve u C-u.
Ovo o cemu pricam je OSS u Splitu.

A Dekker? Lamport? Filozofi koji veceraju? Semafori? Monitori? Mutexi?

Zapravo ja bih htio da je meni tako bilo,barem za prvih 2-3 vježbe.

Vječni izazivač na gostujućem terenu.Moj blog:http://thebluedrag.blogspot.com/ Svi smo mi jedna velika obitelj sa prezimenom Čovječanstvo
Poruka je uređivana zadnji put sub 8.11.2014 17:55 (g12356).
E-mail:
Lozinka:
 
vrh stranice