Vezbam za ispit osnove programiranje iz C-a.
Zadatak glasi : Sa ulaza se učitavaju prirodni brojevi a i b. Napisati program kojim se ispisuju svi prirodni brojevi zi intervala [a,b] koji su deljivi svim svojim ciframa.
Napisao sam kod samo da se ucitavaju brojevi iz intervala, ali ne znam kako da dobijem brojeve koje su deljivi sa svojim ciframa..
https://www.znanje.org/knjige/computer/c/v/081C/081_for_c.php
mozda ti ovo pomogne
napravis dva niza i u prvi smestis cifre prvog broja dok u drugi smestis cifre drugog broja cifre dobijas ovako:
[pawn]
int cifra, broj = 505;
while(broj > 0){
cifra = broj % 10; //uzimas prvu cifru pa tako nadalje
broj /= 10; // delis broj sa deset da bi dobio sledecu cifru
}
[/pawn]
posle proveris sa svim brojevima iz intervala od a do b deljivost cifara broja a i b koji su ti smesteni u nizu 1 i 2
Evo nešto sam sklepao na brzinu mada nisam siguran da li radi ::)
int a,b;
int rez = 0;
printf("Unesite interval (brojeve a i b)\n");
scanf("%d%d", &a, &b);
int temp = 0;
int counter = 0;
for(; a < b; a++) {
int tempa = a;
while(tempa > 0) {
int zadnjacifra = tempa % 10;
if(zadnjacifra == 0)
break;
rez = 0;
if(a % zadnjacifra == 0) {
rez = 1;
}
tempa /= 10;
if(tempa == 0 && rez == 1) {
printf("%d\n", a);
}
}
}
return 0;
Ne radi mi, mnogo me buni ovaj zadatak ??? ???
Citat: Hellyato_Helly poslato Januar 19, 2020, 19:54:42 POSLE PODNE
Ne radi mi, mnogo me buni ovaj zadatak ??? ???
Jel možda imaš neki primjer inputa i outputa ?
Nemam nista, mada ovoj kod sto si napisao, shvatio si kako treba, samo sto nece..
Citat: Hellyato_Helly poslato Januar 19, 2020, 20:00:51 POSLE PODNE
Nemam nista, mada ovoj kod sto si napisao, shvatio si kako treba, samo sto nece..
Šta tačno neće ?
Unesem a i b i kao rezultat mi samo izbaci broj a, tako je bilo i sa mojim pokusajima
Citat: Hellyato_Helly poslato Januar 19, 2020, 20:07:20 POSLE PODNE
Unesem a i b i kao rezultat mi samo izbaci broj a, tako je bilo i sa mojim pokusajima
Pa možda je u tom opsegu samo taj broj djeljiv sa svojim ciframa.
Nema sanse, nije to..
Ma mozes probati bilo koji, na neki izbaci broj a, na neki nista..
Evo na primer od 1 do 1000 izbaci samo 1
Evo kakav sam ja output dobio sa opsegom od 1 do 1000
Unesite interval (brojeve a i b)
1
1000
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
22
24
26
28
33
36
39
44
48
55
66
77
88
99
111
112
113
114
115
116
117
118
119
121
122
123
124
125
126
127
128
129
131
132
133
134
135
136
137
138
139
141
142
143
144
145
146
147
148
149
151
152
153
154
155
156
157
158
159
161
162
163
164
165
166
167
168
169
171
172
173
174
175
176
177
178
179
181
182
183
184
185
186
187
188
189
191
192
193
194
195
196
197
198
199
212
214
216
218
222
224
226
228
232
234
236
238
242
244
246
248
252
254
256
258
262
264
266
268
272
274
276
278
282
284
286
288
292
294
296
298
312
315
318
321
324
327
333
336
339
342
345
348
351
354
357
363
366
369
372
375
378
381
384
387
393
396
399
412
416
424
428
432
436
444
448
452
456
464
468
472
476
484
488
492
496
515
525
535
545
555
565
575
585
595
612
618
624
636
642
648
654
666
672
678
684
696
714
721
728
735
742
749
756
763
777
784
791
798
816
824
832
848
856
864
872
888
896
918
927
936
945
954
963
972
981
999
Ja sam bio zajebo nesto, i ja sad dobijam isti output, ali i dalje nije okej ako se ne varam ?
Evo mala prepravka, pogledaj da li je sada dobro
int a,b;
int rez = 0;
printf("Unesite interval (brojeve a i b)\n");
scanf("%d%d", &a, &b);
int temp = 0;
int counter = 0;
for(; a < b; a++) {
int tempa = a;
while(tempa > 0) {
int zadnjacifra = tempa % 10;
if(zadnjacifra == 0)
break;
rez = 0;
if(a % zadnjacifra != 0)
break;
if( a % zadnjacifra == 0) {
rez = 1;
}
tempa /= 10;
if(tempa == 0 && rez == 1) {
printf("%d\n", a);
}
}
}
Sad je dobro sve, konacno..
Nadam se da ti je mogu javiti privatnom porukom ako budem imao jos nekakvih nedoumica :)
Hvala
Citat: Hellyato_Helly poslato Januar 19, 2020, 20:26:15 POSLE PODNE
Sad je dobro sve, konacno..
Nadam se da ti je mogu javiti privatnom porukom ako budem imao jos nekakvih nedoumica :)
Hvala
Ništa, javi ako bude kakvih problema, pa da pokušamo riješiti ;)
Koji komapajler koristis
Dev-C++
Sto se tice ovih zadataka, moj ti je savjet da shvatis sam tacno sta treba i da trazis rjesenje a ne kod od nekog ko bi ispisao ga. Eventualn oda pitas za pomoc na nacin koji ti mozes doci do rjesenja na nekom od balkanskih jezika mislim pa da ti probas to prekucat u kod. Sjedi i razbijaj ga, koliko god zadaci izgledali komplikovano, mogu se rijesit, a koje god da ej tvoje prvobitno rjesenje, vjeruj da ima i jos jednsotavnije, znaci sjedi i pisi kako bi ti to "laicki" receno na maternjem jeziku odradio. Prebaci u kod, vidis da negdje skljoca, da moze jednsotvanije, razbijaj jos dok ne dodjes do savrsenog rjesenja. Govorim ti iz iskustva jer me gule na takmicenjima ovi zadaci evo tri godine i svaki put kad vidis gdje si grijesio bude ti smijesno sve. Sretno sa radom, ako imas ikakvih pitanja, slobodno mozes se i meni javiti na PM (radim C++ sto se tice ovih zadatak al isti je to gotov kurac). Opet sretno sa radom.
Citat: ghost1337 poslato Januar 23, 2020, 13:09:44 POSLE PODNE
Sto se tice ovih zadataka, moj ti je savjet da shvatis sam tacno sta treba i da trazis rjesenje a ne kod od nekog ko bi ispisao ga. Eventualn oda pitas za pomoc na nacin koji ti mozes doci do rjesenja na nekom od balkanskih jezika mislim pa da ti probas to prekucat u kod. Sjedi i razbijaj ga, koliko god zadaci izgledali komplikovano, mogu se rijesit, a koje god da ej tvoje prvobitno rjesenje, vjeruj da ima i jos jednsotavnije, znaci sjedi i pisi kako bi ti to "laicki" receno na maternjem jeziku odradio. Prebaci u kod, vidis da negdje skljoca, da moze jednsotvanije, razbijaj jos dok ne dodjes do savrsenog rjesenja. Govorim ti iz iskustva jer me gule na takmicenjima ovi zadaci evo tri godine i svaki put kad vidis gdje si grijesio bude ti smijesno sve. Sretno sa radom, ako imas ikakvih pitanja, slobodno mozes se i meni javiti na PM (radim C++ sto se tice ovih zadatak al isti je to gotov kurac). Opet sretno sa radom.
slazem se >:(