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

poruka: 7.283
|
čitano: 1.518.844
|
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
royalhero kaže...

Gdje zapneš?

Ma ništa ne znam -.-' ko debil ovo gledam, ne treba meni, već sestri mi, ali ja programiram u Javi, al opet nemam blage veze...

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

1. Napiši program kojim ćeš upisati broj predmeta N, a zatim ocjene pa izračunati i ispisati srednju ocjenu.

Dakle alociras polje duljine N, petljom prodes kroz to polje dodjeljujuci vrijednost svakom elementu. Nakon toga drugom petljom prolazis kroz polje, zbrajas sve vrijednosti te konacan zbroj podjelis sa brojem elemenata kako bi dobio prosjek. U cemu je problem?

My computer once beat me at chess, but we got even after a round of boxing.
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Bog ti da, napiši kod, ja sve priko koda razumijem ;)

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

Dao ti je čovjek sve upute, u čemu god da programiraš mora biti jasno, logika je svuda posve ista, samo je sintaxa malo drugačija.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
1.Lovac kaže...

Molim vas za pomoć, nikako ne mogu ovo rješit. Unaprijed hvala!

1. Napiši program kojim ćeš upisati broj predmeta N, a zatim ocjene pa izračunati i ispisati srednju ocjenu.

Evo ti u C# -u  {#}  ....pa samo "prevedi " u c++ 

 

 

  class Program

   {

     static void Main(string[] args)

     {

       Console.WriteLine("Unesite broj predmeta za prosjek : ");

       int brojPredmeta = 0;

       brojPredmeta = int.Parse(Console.ReadLine());

       double ocjene = -1;

       double suma = 0.0;

 

       bool nedovoljan = false;

       double prosjek = 0.0;

 

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

         {

           bool unos = false;//ovaj bool mora biti unutra 

 

 

           while (!unos)

           {

             Console.WriteLine("Unesite ocjenu : ");

             ocjene = double.Parse(Console.ReadLine());

 

             if (ocjene >= 1 && ocjene <= 5)

             {

 

 

               unos = true;

             }

             else 

             {

 

               Console.WriteLine("Ponovite unos : ");

              //ovdje ne smije ići radi ispadanja iz petlje !!!!!

             }

             if (ocjene == 1)

             {

               nedovoljan = true;

             }

           }

 

 

           suma += ocjene;

 

 

 

         }

         prosjek = suma / (double)brojPredmeta; ;

 

 

           if (nedovoljan)

             Console.WriteLine("Nedovoljan");

           else

 

           Console.WriteLine("Prosjek je : {0}",prosjek);

 

     }

   }

 

 

 

 

To je davno urađeni zadatak zato ako ima koji bug ne zamjerite :)

 

 

Private
Poruka je uređivana zadnji put uto 10.4.2012 16:10 (Private).
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ako imam sljedeći niz binarnih znamenki: 0110011010 i ako mi je prema tome n=10, zatim podjelim taj niz na blokove od 3 znamenke i imam da je N=3.. Tada imam blokove 011, 001 i 101 (zadnju nulu zanemarujem).. Sada trebam napravit sumu prema sljedećem rasporedu: (2/3-1/2)2+(1/3-1/2)2+(2/3-1/2)2 - (u prvom nizu imam dvije jedinice zato je 2/3, u drugom nizu imam jednu jedinicu zato je 1/3 itd)..Ukupno to ispadne 1/12 iliti 0.08333.. Kako da riješim ovo sumiranje.. Pretpostavljam u for petlji, a evo zadatka dokle sam ga postavio i objasnio..

 

int main(){

string niz;

double N, M, suma=0;

 

cout<<"Unesi niz"<<endl; //niz

cin>>niz;

cout << "Unesi duljinu bloka: " <<endl; //duljina bloka

cin>>>M;

 

N=niz.size()/M;

int i = int (N); //broj zagrada koje će se zbrajati - cjelobrojna vrijednost

 

//rjesenje prve zagrade:

for(int x=0; x<M; x++){

suma += niz[x] - 48;}

suma = pow((suma/M - 0.5), 2);

 

cout<<"Suma prve zagrade je: "<< suma << endl;

 

system("PAUSE");

return 0;

}

Poruka je uređivana zadnji put sri 11.4.2012 18:11 (Legolas).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Legolas kaže...

Kako da riješim ovo sumiranje.. Pretpostavljam u for petlji, a evo zadatka dokle sam ga postavio i objasnio..

Evo jedan od nacina:

 

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main()
{
    char *test="0110011010";
    int n=0, index=0, jedinice=0;
    float zbroj=0.0;
   
    while (index+2<strlen(test))
    {
          jedinice=0;
         
          for (n=0; n<3; n++)
          {
              if (test[n+index]=='1')
                 jedinice++;
          }
         
          zbroj+=(jedinice/3.0-0.5)*(jedinice/3.0-0.5);
         
          index+=n;
    }
   
    printf("%f\n", zbroj);

    system("pause");
    return 0;
}

 

Prepravi si kako ti odgovara, btw nisam koristio pow funkciju, nego jednostavno pomnozio dvije vrijednosti. Stvar je jednostavna varijabla "jedinice" drzi broj prebrojanih jedinica u grupi od tri znamenke, nakon sto se prebroji, iskoristi se za racunanje te se nakon toga u novoj iteraciji petlje resetira na nulu.

My computer once beat me at chess, but we got even after a round of boxing.
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Kako da to sada prepravim za unos bilo kojeg binarnog niza sa tipkovnice?

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

Kako da to sada prepravim za unos bilo kojeg binarnog niza sa tipkovnice?

Jesi cuo kada za cin/cout odnosno printf/scanf? Znas valjda od korisnika zatraziti upis?

My computer once beat me at chess, but we got even after a round of boxing.
13 godina
offline
Programiranje u C++-u - pitanja i odgovori

 

#include <stdio.h>

int main ()

{

int A[10], i, n, x, zbroj;

printf("Koliko zelite clanova polja? ");

scanf_s("%d", &n);

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

{

printf("\nUnesite x[i] clan: ", i);

scanf_s("%d", &x[i]);

}

zbroj = 0;

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

{

zbroj += x[i];

}

printf("\nZbroj unesenih %d clanova polja je %d.\n", n, zbroj);

return 0;

}

 

 

Javlja mi ovo: "(10): error C2109: subscript requires array or pointer type"

Ako se slažeš, ne košta te ništa TU. Ako sam ti uz to pomogao, neka ti ne bude mrsko stisnuti i HVALA! ;)
Moj PC  
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Kod funkcije scanf imaš 2 znaka koja tu ne bi trebala biti.I kao niz staviš A[],a u programu koristiš x.Zašto???

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
Poruka je uređivana zadnji put sri 11.4.2012 19:37 (emerik).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
sudy_freak kaže...
Javlja mi ovo: "(10): error C2109: subscript requires array or pointer type"

Joj koja zbrka, prvo kod ti je grozno formatiran, sredi to. Drugo, pogledaj sto radis

 

x[i]

 

Tu ti nista nije cudno:D ? Da ne treba mozda ici:

 

A[i]

 

Kod printf si pretpostavljam htio ispisati indeks clana ciju vrijednost upisujes, ali ispisujes stalno "Unesite x[i] clan: ".

 

Evo ispravaka:

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int A[10], i, n, zbroj;
   
    printf("Koliko zelite clanova polja? ");
    scanf("%d", &n);
   
    for (i=0; i<n; i++)
    {
        printf("\nUnesite x[%d] clan: ", i);
        scanf("%d", &A[i]);
    }
   
    zbroj=0;
   
    for (i=0; i<n; i++)
        zbroj+=A[i];
   
    printf("\nZbroj unesenih %d clanova polja je %d.\n", n, zbroj);
   
    system("pause");
    return 0;
}

My computer once beat me at chess, but we got even after a round of boxing.
13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...

Joj koja zbrka, prvo kod ti je grozno formatiran, sredi to. Drugo, pogledaj sto radis

 

x[i]

 

Tu ti nista nije cudno:D ? Da ne treba mozda ici:

 

A[i]

A budale, hahaha.
Previdio sam fatalnu grešku, hvala još jednom {#} 

Ako se slažeš, ne košta te ništa TU. Ako sam ti uz to pomogao, neka ti ne bude mrsko stisnuti i HVALA! ;)
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

pozdrav . zanima me tj. dali bi netko mogao napisati program koji: sa web sheeta ( google dokumenti ili ti pak excela na racunalu ) crpi linkove ( znaci linkovi su vec upisani) i salje im poruke

ja,ja i samo ja
Moj PC  
0 2 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

To je već malo veći zalogaj.

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

nebi se nist uspilo na brzinu slozit :D

ja,ja i samo ja
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ne bih i neću!
Da se mene pita ja bi to radio u .NET-u. Puno je lakše.

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

Kako da to sada prepravim za unos bilo kojeg binarnog niza sa tipkovnice?

Jesi cuo kada za cin/cout odnosno printf/scanf? Znas valjda od korisnika zatraziti upis?

Kada uradim sljedeće promjene na početku programa javlja mi "warning: uninitialized local variable 'test' used" i ne radi program

 

int main(){

char test;

int n=0, index=0, jedinice=0;

float zbroj=0.0;

 

cout<<"Unesi zeljeni niz: "<<endl;

cin>>test;

 

while(.....).....

.

.

.

.

 

}

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

Kada uradim sljedeće promjene na početku programa javlja mi "warning: uninitialized local variable 'test' used" i ne radi program

 

int main(){

char test;

...

cin>>test;

Na dobrom si tragu, samo sto pokusavas strpati cijeli niz u memorijski prostor za jedan znak (char). Alociraj nesto memorije bilo staticki ili dinamicki, i neka varijabla "test" bude pokazivac na taj memorijski prostor pa ce sve odmah proraditi...

 

To jest, trebas niz, a ne jedan znak. Jasnije?

My computer once beat me at chess, but we got even after a round of boxing.
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
mali_mata kaže...

nebi se nist uspilo na brzinu slozit :D

To uopce nije trivijalno. Placas? :D

My computer once beat me at chess, but we got even after a round of boxing.
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
Legolas kaže...

Kada uradim sljedeće promjene na početku programa javlja mi "warning: uninitialized local variable 'test' used" i ne radi program

 

int main(){

char test;

...

cin>>test;

Na dobrom si tragu, samo sto pokusavas strpati cijeli niz u memorijski prostor za jedan znak (char). Alociraj nesto memorije bilo staticki ili dinamicki, i neka varijabla "test" bude pokazivac na taj memorijski prostor pa ce sve odmah proraditi...

 

To jest, trebas niz, a ne jedan znak. Jasnije?

Nije točno. Cin također može učitati jedan najobičniji znak (što "test" zapravo i jest). Vjerojatno je koristio varijablu "test" prije cin >> test.

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

ma baš se traže pokazivači, funkcije i polja....moramo sve što radimo preko funkcija raditi, nemam pojma zašto profa.  to sve tako forsira....ali eto....:(

Profa ti upravo zato i traži pokazivače i funkcije da posao napraviš jednostavnije, a ne složenije.

Prema onome što tvoj zadatak traži najbolje je napisati tri funkcje:

1. funkciju PrimNiz koja za argumente uzima pokazivač na originalni niz, broj elemenata originalnog niza i pokazivač na broj elemenata novog prim niza.

Ta funkcija kao povratnu vrijednost vraća pokazivač na novi prim niz, a pošto smo i broj elemenata prim niza proslijedili funkciji preko pokazivača, na taj način u main programu dođemo do varijable koja ima vrijednost broja elemenata novog niza. a koja nam je potrebna za daljnje manipulacije sa novim nizom (npr. ispis).

2. funkciju Unos preko koje se unose elementi niza, a koja za argumente ima pokazivač na niz i broj elemenata niza

3. funkiju ispis preko koje se ispisuju elementi niza, a koja za argumente uzima pokazivač na niz i broj elemenata niza

 

Dakle, ovdje se ne koriste pokazivači ni funkcije da kompliciraju, nego pojednostave posao, jer smo razdvajanjem koda po funkcijama dobili pregledniji kod i jednostaviji API.

A treba koristiti dinamičku alokaciju polja, pošto novi prim niz ima manje elemenata od starog, na taj manji broj elemenata treba biti i alociran, onaj pristup da je novi niz alociran

veličinom starog, samo nam daje privid da su stvari OK, a nisu, samo smo ograničili ispis u tom nizu sa brojem primova inače taj niz ima još elemenata.

 

 

#include<iostream>
using namespace std;
 
int* PrimNiz( int* niz, int* brojPrimova, int brojElemenata)
{
    int index = 0;
    *brojPrimova = 0;
    bool* izdvojeniPrim = new bool[brojElemenata];
    memset(izdvojeniPrim, true, brojElemenata);

    for(int i=2; i< brojElemenata; i++)
    {
       if(izdvojeniPrim[i])
       {
          *brojPrimova += 1;
          for(int j = 2*i; j<brojElemenata; j+=i)
          {
             izdvojeniPrim[j] = false;
          }
       }
    }

    int* primNiz = new int[*brojPrimova];

    for(int i=2; i<brojElemenata; i++)
    {
       if(izdvojeniPrim[i])
       {
          primNiz[index] = niz[i];
          index++;
       }
    }
    delete [] izdvojeniPrim;
    return primNiz;
}

void UnosNiza(int* niz, int brojElemenata)
{
    for(int i=0; i<brojElemenata; i++)
    {
       cout<< "Unesi " << i+1 << ". element niza: ";
       cin>> niz[i];
    }
}

void IspisNiza(int* niz, int brojElemenata)
{
    for(int i=0; i<brojElemenata; i++)
    {
       cout<< niz[i] << " ";
    }
}
int main()
{
    int brojElemenata, brojPrimova = 0;
    cout<< "Unesi broj elemenata niza: ";
    cin>> brojElemenata;

    int* niz = new int[brojElemenata];
    UnosNiza(niz, brojElemenata);
    int* primNiz = PrimNiz(niz, &brojPrimova, brojElemenata);
    IspisNiza(primNiz, brojPrimova);

    delete [] niz;
    delete [] primNiz;
    return 0;
 
}
 

Poruka je uređivana zadnji put čet 12.4.2012 16:42 (Floki).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Nije točno. Cin također može učitati jedan najobičniji znak (što "test" zapravo i jest).

Naravno da moze, ali nekako sumnjam da je on upisivao samo jedan znak, ili da je to htio koristiti "test" kao obican char a ne polje.

 

TracerCPP kaže...

Vjerojatno je koristio varijablu "test" prije cin >> test.

Vjerojatno. Ali ja ne vidim gdje ga je koristio. Moj se komentar odnosio na dio programa koji mi je poznat.

My computer once beat me at chess, but we got even after a round of boxing.
15 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav dečki..

Imal tko da bi mi htjeo riješit ovaj zadatak

 

2. Napisati program koji unosi cijele brojeve, sve dok prosjek parnih unesenih brojeva ne premasi 15 i u posebnim funkcijama izračunava broj onih ciji je zbroj znamenki manji od 15 i produkt onih koji nisu prosti brojevi. Rezultati se ispisuju u glavnom programu. Ispisati niz sortiran od najveceg do najmanjeg elementa koristeći poziv funkcije prototipa void sort():

uskoro imam ispit pa pokusajem nesto vjezbat al ne ide..


This is not the droid you're looking for...
 
0 0 hvala 0
12 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
skandalouz kaže...

Pozdrav dečki..

Imal tko da bi mi htjeo riješit ovaj zadatak

 

2. Napisati program koji unosi cijele brojeve, sve dok prosjek parnih unesenih brojeva ne premasi 15 i u posebnim funkcijama izračunava broj onih ciji je zbroj znamenki manji od 15 i produkt onih koji nisu prosti brojevi. Rezultati se ispisuju u glavnom programu. Ispisati niz sortiran od najveceg do najmanjeg elementa koristeći poziv funkcije prototipa void sort():

uskoro imam ispit pa pokusajem nesto vjezbat al ne ide..


evo ali drugi put ubaci kod da vidimo di je zapelo an ne ovako

#include "stdafx.h"

int zbrojznam(int a)
{
int pom1;
int pom2=a;
int zbroj=0;

do

    pom1=pom2%10;
    pom2=pom2/10;
    zbroj+=pom1;
   

}
while(pom2>0);
if(zbroj<15)
return 1;
else
return 0;

}

int zbrojprim(int a)
{
 
    int brojac=0;
   
    for(int i=2;i<a;i++)
    {
      
       if(a%i==0)
          brojac++;

    }
   
   
    if(brojac==0)
       return 1;
    else
    return 0;

}
int _tmain(int argc, _TCHAR* argv[])
{
    int a[1000];
    int i=0;
    float prosjek=0;
    int brojacznamenki=0;
    int brojac=0;
    int zbrojparnih=0;
    int zbrojprimbr=0;
    do
    {
       printf("\nUnesi cijeli broj:   ");
       scanf("%d",&a[i]);
      
          if(a[i]%2==0)
          {
             brojac++;
             zbrojparnih+=a[i];
             prosjek=(float)zbrojparnih/brojac;

          }
          brojacznamenki+=zbrojznam(a[i]);
          zbrojprimbr+=zbrojprim(a[i]);
          i++;

    }
    while(prosjek<15&&i<1000);
    printf("\n Broj onih kojima je zbroj znamenki manji od 15 je:  %d",brojacznamenki);
    printf("\n Broj onih koji su prim brojevi je:  %d\n\n",zbrojprimbr);
   
    return 0;
}

vlastoručni potpis
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav,

 

Evo imam jedno pitanje. Radi se o apstraktnoj klasi. Ja znam sta je to itd, ali jednostavno ne razumijem sta se trazi od mene u zadatku, sta da napisem. 

 

Ako moze konkretan odgovor.

 

#include <iostream>

using namespace std;

 

template<class T1, class T2>

class Kolekcija{

 T1 _clan1[20];

 T2 _clan2[20];

 int _trenutnoClanova;

public: 

 

};

 

class Osoba{

protected:

 char *_imePrezime;

public:

 //1. Potrebne konstruktor i destruktor funkcije

 //2. Deklarisati kao apstraktnu klasu

};

 

class Predmet{

 char *_naziv;

 char *_profesor;

public:

 //1. Potrebne konstruktor/destruktor funkcije

 //2. operator<< :: ispisuje vrijednosti svih atributa klase

};

 

class Student{

 const int _brojIndeksa;

 Kolekcija<Predmet *, int>_polozeni;

 vector<string>_seminarski; //naslovi seminarskih radova

public:

 

};

 

void main(){

 

}

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

Jednostavno u tu klasu dodaj neku dummy čistu virtualnu metodu i ta klasa će postati apstraktna;

 

virtual void dummy() = 0;

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

Upravo tako ali ima jedna stvar koja me buni.

 

Znaci sada bi trebalo to iskoristiti, pretpostavljam u klasi "Student", posto bi trebala biti izvedena klasa (class Student:public osoba), i neka funkcija iz "Student" klase bi trebala iskoristiti tu virtual funkciju. Da li je to trebalo negdje u zadatku navesti (u klasi Student ili Osoba) koja tacno funkcija treba da "iskoristi" ovu virtualnu iz "Osoba" klase ili to nekako logicni zakljucimo?

 

Evo i komplet postavke zadatka na linku ispod:

http://pastebin.com/9RzGtUV3

Poruka je uređivana zadnji put pet 13.4.2012 19:08 (dexter2).
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Nisi ti dužan tu funkciju iskorištavati u derivacijama klase niti tamo pisati njena "preopterećenja".

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

Ok hvala puno, znaci ako nije navedeno onda i ne trebam iskoristiti, pretpostavljam da se u ovom zadatku jedina svrha da se vidi da li je znas napisati :)

 
0 0 hvala 0
E-mail:
Lozinka:
 
vrh stranice