C++ zadatak

poruka: 34
|
čitano: 18.392
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
C++ zadatak

dali mi netko tko se kuzi u ovo moze napraviti jedan zadatak?
za neki uneseni broj n ispisati dali je broj savrsen..broj je savrsen ako jendak zbroju svih njegovih djeitelja osim samog sebe...npr 6=1+2+3

hvalaSmijeh

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatak

Najjednostavniji način bi bio: prođi sve brojeve u [2, korijen(N)], ako vrijedi da je ostatak nula pri djeljenju N-a i trenutno prolazećeg broja, pribroji taj broj varijabli "zbroj". Ako poslije petlje, zboj == N, onda je broj savršen.

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: C++ zadatak

Evo ti u C#-u pa prevedi u C++ da baš sve ne dobiješ na pladnju......Smijeh...ne bi ti trebalo biti teško ....

   Console.WriteLine("Upišite broj : ");
            int broj = int.Parse(Console.ReadLine());
            Console.WriteLine("Ispis :");

            savrsen(broj);
            Console.ReadKey();

        }
        static void savrsen(int broj)
        {
            bool savrsen = false;
            int zbroj = 0;
            for (int i = 1; i < broj; i++)
            {
                if (broj % i == 0)
                {
                    zbroj += i;
                }
               
            }
            if (broj == zbroj)
            {
                savrsen = true;
            }
            else
            {
                savrsen = false;
            }
            if (savrsen)
            {
                Console.WriteLine("Broj je savršen");

            }
            else
            {
                Console.WriteLine("Broj nije savršen!");
            }
        }

 

 

...ako ovo znaš prevesti u pseudokod tad ti niti prijevod u C++ neće biti težak....ovdje je funkcija u pitanju koju pozivaš u glavnom programu.
Tako možeš napraviti i u C++-u!

 

 

Private
Poruka je uređivana zadnji put pon 22.2.2010 20:35 (Private).
15 godina
neaktivan
offline
C++ zadatak

kako to pretvorit?

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
14 godina
neaktivan
offline
RE: C++ zadatak
mate kaže...

kako to pretvorit?

 

Pa započetak uzmeš list papira ili školsku teku, olovku i piši.

Nikad nećeš ništa što je dobro dobit servirano.

Ovo je već gradivo sa if/else for petljama i za ovo bi trebao barem znat nešto o C++-u.

Nista nije sveto sve je bruto i neto, sve je zabava!
15 godina
neaktivan
offline
C++ zadatak

pa dobro to ali ja nikad nisam radio u c# nego samo u c++ di mu je int i inicijalizacija?

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

ja sam napravio

int n,i,s;

scanf("%d",&n);

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

 if(n%i==0)

      s+=i;

pritf("%d je savršen broj \n",s);

return 0;

 

 

i neradi

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: C++ zadatak

Stvarno ne zaslužuješ odgovor jer ti je prejednostavan i ako ne znaš pseudokod u glavi razviti tad jednostavno malo se zamisli o programiranjuŠutim....
Ali evo ti rješenja jes sam dobra duša i mali je zadatak ,da je imalo veći bez tvog pokojeg pisanog koda ne bih ni pogledao....

 #include <iostream>
using namespace std;
void Savrsen(int broj);
int main()
{
 int broj ;
 cout<<"Unesite broj : "<<endl;
 cin>>broj;
 Savrsen(broj);
 system("pause");

 return 0;
}
void Savrsen(int broj)
{
 bool savrsen = false;
 int zbroj = 0;
 for(int i = 1;i<broj;i++)
 {
  if(broj%i==0)
  {
   zbroj+=i;
  }
 }
  if(broj ==zbroj)
  {
   savrsen=true;
  }
  else
  {
   savrsen = false;
  }
  if(savrsen)
  {
   cout<<"Broj je savršen!"<<endl;
  }
  else

  {
   cout<<"Broj nije savršen!"<<endl;
  }
 }

 

 

Ne znam kako misliš dalje shvatiti logiku programiranja jer sigurno ti slijede i teži zadaci a baš nećeš uvijek dobiti sve na gotovs......
Ono gore što si napisao je sintaksa C-a a ne C++-a ,stoga ne miješaj zahtjeve i sintakse.Nije mi se ni dalo provjeriti ,to neka provjeravaju C-programeri iako mogu i sam ali ljepši mi je C++.(sintaksa).Nevinašce

 

 

Private
Poruka je uređivana zadnji put pon 22.2.2010 22:37 (Private).
15 godina
neaktivan
offline
C++ zadatak

fala..naucit cu zato i idrm u skolu ..cout je printf? a cin?

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
Poruka je uređivana zadnji put pon 22.2.2010 22:37 (mate).
 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

mi radimo ovako kako sam gore napiso u tom stilu

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: C++ zadatak
mate kaže...

fala..naucit cu zato i idrm u skolu ..cout je printf? a cin?

 Gledaj.printf je funkcija a cout(-ispisuje ) objekt kao i cin(-upisuje)  (tokovi)  je li sad što jasno ? Ako nije moraš se stvarno potruditi i zagrijati stolicu o ispisima na consolu što je objekt a što funkcija itd itd itd .....u biti kreni od početka i samih definicija počevši od #include  i što to includa ?Eto ,ako netko ima volje neka objašnjava iako bi profa ili netko tko te uči to trebao objasniti....

Private
Poruka je uređivana zadnji put pon 22.2.2010 22:41 (Private).
15 godina
neaktivan
offline
C++ zadatak

ok ...fala puno Smijeh

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
offline
RE: C++ zadatak

Ako je onako kak si gore napiso, onda nije c++, nego C.

 

A evo ti čisti algoritam za savršene brojeve:

 

1. učitaj broj n (za koji se ispituje dal je savršen)

2. suma=0 (inicijalizacija)

3. za i=1 do n radi:

       ako je n djeljiv s i, suma = suma+i

4. ako je suma==2*n ispiši ("broj je savršen")

       inače ispiši ("Broj nije savršen")

 

 

p.s. Ovdje se može u koraku 3 ići do korijen(n), pa se provjeravat dal je suma==n ali pošto se radi o počecima programiranja, nećemo komplicirat :D

16 godina
neaktivan
offline
C++ zadatak

Ne treba raditi funkciju, samo će ga zbuniti

Pogledaj malo u teoriji petlju while, uvjetnu naredbu if-else,operator modulo i logičke operatore

Matematički znaš što trebaš dobiti, a kombinacijom gornjih naredbi to postigneš:

 

include<iostream>
using namespace std;

void main() {
    int n, i, s=0;
    cout<< "Unesi n: ";
    cin>> n;
    i=1;
    while(i<n) {
       if(!(n%i))
          s+=i;
       i++;
    }
    if(s==n)
       cout<< "Broj je savršen!";
    else
       cout<< "Broj nije savršen!";
}

 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

fala :D

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ zadatak
mate kaže...

fala :D

nemoj ga samo prepisati, proanaliziraj ga, što točno kako radi

onda rješi neki sličan

15 godina
neaktivan
offline
C++ zadatak

jesam i malo sam ga izmjenio :DDD

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

imam jos jedan(ako se nekom da)...program koji za unesi broj ispisuje zbroj njegovih  znamenki..treba napraviti sa while petljom...npr 579%10=9

                                                                                                                                                                                                                     579/10=57

                                                                                                                                                                                                                     57%10=7 i tako do nule to su neke formule

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
offline
RE: C++ zadatak
mate kaže...

imam jos jedan(ako se nekom da)...program koji za unesi broj ispisuje zbroj njegovih  znamenki..treba napraviti sa while petljom...npr 579%10=9

                                                                                                                                                                                                                     579/10=57

                                                                                                                                                                                                                     57%10=7 i tako do nule to su neke formule

Vrlo jednostavna, i dosta česta stvar. Ono što se radi je da se "cijepa" broj, dok ne dođe do 0.

 

Ajmo proć na jednom primjeru pa napisat kod.

 

nek je x=3456, suma=0. U svakom koraku provjeravamo dal je x>0 i ako je, onda ima još neku znamenku pa radimo što treba

 

1. x=3456, pa je x>0 pa uzmemo znamenku jedinica, x%10=6, suma=0+6=6. I pocijepamo x, jer nam znamenka jedinica više ne treba, x=x/10=3456/10=345.

2. x=345, pa je x>0 pa uzmemo znamenku jedinica, x%10=5, suma=6+5=11. I opet pocijepamo x, x=34

3. x=34, pa je x>0, x%10=4, suma=11+4=15, x=3

4. x=3, x>0, pa je x%10=3, suma=15+3=18, x=0

5. x=0 KRAJ.

 

 

Kodom bi to izgledalo ovak:

 

int x,suma=0;

cin>>x;

if (x<0) x=-1*x;

 

while (x>0)

{

     suma+=x%10;

     x/=10;

}

 

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

Poruka je uređivana zadnji put uto 9.3.2010 18:25 (Luuka).
15 godina
neaktivan
offline
C++ zadatak

hvala puno

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

sta ti znaci ova formula x=-1*x

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
14 godina
neaktivan
offline
RE: C++ zadatak

edit

Poruka je uređivana zadnji put sri 10.3.2010 11:21 (Quiem).
15 godina
offline
RE: C++ zadatak
mate kaže...

sta ti znaci ova formula x=-1*x

Ustvari uzmem apsolutnu vrijednost od x-a. Ako se učita -123, da se od tog napravi 123 jer nam ionako treba samo zbroj znamenki, a while petlja je dok je x>0 (ako je na početku manji, onda neće ni uć u petlju).

15 godina
neaktivan
offline
C++ zadatak

evo trebam program koji sakrije broj ,pa treba pogadati koji je to proj,ako upises veci broj treba ti ispisati da is iznad upisangog,ako manji da si ispod ,i treba brojacce da ti ispise broj pokausaja ..ja sam nesto sastavio ali profa kaze da je dobro ali da treba te ifove savit u petlju..ja sam nesto sastavio pa ako bi netko to mogao popraviti ja nema vise ideje ...hvala

 

int x,y,s=0;
scanf("%d",&x);
printf("\f");
scanf("%d",&y);
while(y==x)

if(y>x)
{
s++;
printf("uneseni broj je vece od skrivenog broja\n");
}
if(y<x)
{
s++;
printf("uneseni broj je manji od skrivenog broja\n");

}

{
if(y==x)
s++;
printf("POGODIO SI\n");
printf("%d je broj pokusaja\n",s);
}

return 0;

}

 

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
Poruka je uređivana zadnji put uto 23.3.2010 12:18 (mate).
 
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatak

Nedostaju ti zagrade od petlje. Petlja while je oblika while (uvjet) {kod}, a ne while (uvjet) kod.

 

(dakako, i ovaj drugi će raditi, no onda će se petlja while odnositi na prvu sljedeću naredbu, a tebi ih treba nekoliko (3 IFa))

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
0 0 hvala 0
14 godina
neaktivan
offline
C++ zadatak

Rjesavao sam sličan  zadatak u skoli samo sto sam pisao u čistom C-u.

S bibliotekom #include<stdlib.h>

i sad ide koliko se sječam neka naredba

srand(time(NULL)); koja odabere neki slučajni broj. Nažalost se nemogu sjetit kako točno ide naredba.... sory

Nista nije sveto sve je bruto i neto, sve je zabava!
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
RE: C++ zadatak
Shody_1994 kaže...

Rjesavao sam sličan  zadatak u skoli samo sto sam pisao u čistom C-u.

S bibliotekom #include<stdlib.h>

i sad ide koliko se sječam neka naredba

srand(time(NULL)); koja odabere neki slučajni broj. Nažalost se nemogu sjetit kako točno ide naredba.... sory

 edit: uopće nisam išao za tim da i ti pišeš u C-u jer sam samo pročitao naslov teme C++ zadatak :O

edit2: mrzim duple postove :@

Nista nije sveto sve je bruto i neto, sve je zabava!
Poruka je uređivana zadnji put uto 23.3.2010 12:46 (Shody_1994).
15 godina
neaktivan
offline
C++ zadatak
zna netko?
procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
14 godina
neaktivan
offline
C++ zadatak

Evo na brzinu sastavio:

 

Program odabere broj (manji od 100) zbog veće mogućnosti pogotka. I imaš 10 pokušaja za pogodit broj :

 

 

 

 

#include<stdio.h>

#include<conio.h>

#include<time.h>

#include<stdlib.h>

 

int main()

 

{ int x,i,y;

 

srand(time(NULL));

 

x=rand()%100;

 

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

 

{

printf("\nPokusaj pogoditi broj:");

 

scanf("%d", &y);

 

if(x==y)

 

{

printf("Cestitamo! Pogodili ste broj iz %d. pokusaja.", i);

 

break;

 

}

 

else

 

printf("\n\nNiste pogodili broj");

 

if(x<y)

 

printf("\n\nUcitani broj je veci od trazenog");

 

else

 

printf("\n\n Ucitani broj je manji od trazenog");

 

}

 

 

printf("\n Broj koji je trebalo pogoditi je %d.",x);

 

getch();

 

}

 

 

Nista nije sveto sve je bruto i neto, sve je zabava!
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatak

trebam pomoc naime treba mi napravit jedan zadatak a kaze ovako

deklariraj jednu strukturu (to znam)kojom se opisuje  racunalo aa barem 5 razlicitih clanova(barem ri razlicita tippa podataka)

 

HVALA Smijeh

procesor:intel e8400 matična:gigabyte ep35 ds3l grafička:xfxhd4870
 
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice