Pomoć oko jednog zadatka u C-u

Teme vezane za console/GUI programiranje u C/C++ jeziku
2 post(ov)a • Stranica: 1/1.

Pomoć oko jednog zadatka u C-u

PostPostao/la yamBo » 14 tra 2017, 18:13

Pozdrav svima, muči me jedan zadatak vezan za potprograme. Ovako glasi: Napisati program koji prikazuje sve trocifrene brojeve kod kojih su cifre stotine, desetice i jedinice uzastopni brojevi. (... 456, 465,546,564,645,654..). Da napomenem, početnik sam u C-u. :)

Ovako sam krenula da rešavam zadatak : :-?

int main(void) {
int broj;
if(broj>99 && broj<1000){
printf ("Unesite broj koji želite: \n");
scanf ("%d", &broj);
}else {
printf("Uneli ste broj van dozvoljenog intervala");
}

Re: Pomoć oko jednog zadatka u C-u

PostPostao/la Jasko » 24 svi 2017, 17:33

To ti je prijatelju relativno lahko,

radi se o zadatku iz 5 razreda osnovne skole, gdje pravilo za to sto si upravo rekao ovako odprilike glasi.

Kada je neki broj dijeljiv sa tri? Neki broj je dijeljiv sa tri ako je zbir njegovih cifara dijeljiv sa tri.

jos jedna bitna recenica iz matematike 5 razreda,

zbir tri uzastopna prirodna broja je uvijek dijeljiv sa tri.

OK, mozda ti ovo nije dalo dovoljno idje kako rijesiti ovaj zadatak, ali hajmo reci da prolazis listu brojeva od 100 - 999, automatski mozes izbaciti sve brojeve koji nisu dijeljivi sa tri.

cpp code
#include<stdio.h>

int uporedi( const void* a, const void* b)
{
int int_a = * ( (int*) a );
int int_b = * ( (int*) b );

if ( int_a == int_b ) return 0;
else if ( int_a < int_b ) return -1;
else return 1;
}


int main(){
int i, temp;
//char str[3]; za drugu mogucnost
int ar[3];
for(i=100; i<=999;i++){
//testiranje dali se radi o broju djeljivom sa tri
if(!(i%3)){
//sprintf(str,"%d\n",i); druga mogucnost
ar[0] = i/100;
temp = i%100;
ar[1] = temp/10;
ar[2] = temp%10;
//sortiranje cifara trocifrenog broja po velicini
qsort( ar, 3, sizeof(int), uporedi);
//testiranje dali se radi o tri uzastopne cifre
if((ar[0]+1==ar[1]) && (ar[1]+1==ar[2])){
printf("%d, ", i);
}
}

/*printf("\n=%d", "1"+1);*/
}
printf("\n");
return 0;
}


Ok, ono sa djeljiv sa tri je u sustini optimizacija koda, jer radilo bi i bez toga, ali boze moj, mozda nekom pomogne i taj detalj ;)

Pozz
Postoji 10 vrsta ljudi na zemlji. Oni koji razumiju binarni sistem i oni koji ga ne razumiju!
Posjetite moj YouTube kanal za gledanje za programiranje i druge teme oko računara.


2 post(ov)a • Stranica: 1/1.

Na mreži

Trenutno korisnika/ca: / i 1 gost.