HCL.hr forum
Upiti i savjeti o tehnologiji => Softver i internet => Autor teme: Blade1752 - 27. Listopad, 2013., 15:06
-
Ljudi jel mi može tko riješit ovo sranje danas.. znam da ima svega 15min posla uvrh glave za ove koji znaju što ja ne znam..probavam i ne ide nikako..
Ovako ide zadatak..
Napisati C program koji zbraja sve djelitelje broja N iz nekog intervala (granice intervala su uključene). Granice intervala MIN i MAX i broj N unosi korisnik s tipkovnice, pri čemu MIN i MAX mogu biti u rasponu od 1 do 1000, s time da je MIN < MAX.
Program ispisuje zbroj svih djelitelja iz tog intervala.
U slučaju nepravilnog unosa, potrebno je ispisati poruku "Krive granice intervala!".
Primjer ulaza: Primjer izlaza:
50 750 1024 Zbroj je: 960
Inače s TVZ-a s C-om se susreo u srednjoj no ništa posebnog mučim se s ovim sranjem od ranog jutra i nikako na zelenu granu. BTW. Fala unaprijed!! :bonk:
I da znam ovo da mi ispiše Krive granice, no eto ovaj matematički dio/petlje me zezaju.. inače bi se lomio s ovim do navečer ali moram učit još dosta toga
-
Sad da ti ne pišem cijeli zadatak: učitaš broj preko tipkovnice kojeg ubaciš u integer N, rekneš programu sa while naredbom da od MIN od MAX dijeli % broj s N-om i ukoliko je rezultat 0, zbroj uvećaš za trenutni broj
-
Sad koliko sam te ja skužio..
#include <stdio.h>
int main() {
float MIN, MAX, zbroj, D;
int N;
zbroj==0.0;
scanf("%f %f %d", &MIN, &MAX, &N);
if(MIN>MAX|| MIN<=0 || MAX>=1000)
printf("Krive granice intervala!");
else {
while(MIN<=MAX)
D=N%(int)MIN;
if(D==0){
zbroj+=D;
MIN++;
}
else{
MIN++;
}
}
return 0;
}
I sada mi se uopće neće pokrenut dalje kada upišem tri broja :solidus:
-
zapravo si trebao staviti:
1. min i max su isto int
2. osim zbroja, min, max, N treba ti i varijabla za trenutni broj kojeg ćemo nazvati X
3. Započinjemo sa skeniranjem min max i N broja
4. stavljamo da je zbzoj nula, a x je jednak min
5. idemo s for(x=>min; x<=max; x++)
6. nakon toga ide dio if (x%N=0) {
suma += x}
Ako sam dobro skužio tvoj zadatak
-
Ja napiso to tvoje nekako ovako..
#include <stdio.h>
int main() {
float zbroj, x ;
int N,MIN,MAX;
zbroj==0.0;
scanf("%d %d %d", &MIN, &MAX, &N);
if(MIN>MAX|| MIN<=0 || MAX>=1000){
printf("Krive granice intervala!");}
else {
for(x>=MIN;x<=MAX; x++)
if ((int)x%N==0) {
zbroj += x;}
else{
continue;
}
printf("%f",zbroj);
}
return 0;
}
I naravno ništa... sad bi najradije odusto od života jebemu sve kad ne mogu riješit ni jednostavan zadatak, i da ti pravo kažem ni ja ne znam koji kurac oni traže od mene u tom zadatku vjerovatno zbroj svakog jebenog broja kad se podjeli trenutni MIN s N-om ... No tebi eto od srca hvala što si pokušo! :hug :winknkiss:
-
#include <stdio.h>
int main() {
int min, max, x, N, zbroj;
zbroj = 0;
printf("Unesite brojeve/n");
scanf("%d %d %d", &min &max &N);
x= min;
for(x=>min; x<=max; x++) {
if (x%N=0) {
suma += x;
}
}
printf("Suma je %d", suma);
system ("pause");
return 0;
}
Valjda sam sve napisao dobro, nisam provjeravao
-
Koristimo inače Codeblocks ako ti to ikaj znači i dalje ne radi.. Ne trebaš više kume ako sam ja odusto onda znaš da stvarno se bezveze mučiš..ja bum to još kasnije probo no eto..
-
Imate grešaka u kodu. Nisam nikad radio u Codeblocksu pa nemam pojma kako funkcionira, ali čudno mi je da ti uopće pokrene išta, a da ne baca greške.
Uglavnom, ispravan kod bi izgledao ovako:
#include <stdio.h>
int main()
{
int min, max, x, N, zbroj;
zbroj = 0;
printf("Unesite brojeve/n: ");
scanf("%d %d %d", &min, &max, &N);
x = min;
if (min < 0 || max > 1000 || max < min)
{
printf("Granice intervala nepravilne!\n\n");
}
else
{
for(x = min; x <= max; x++)
{
if (N % x ==0)
{
zbroj += x;
}
}
printf("Suma djelitelja je %d.\n\n", zbroj);
}
system ("pause");
return 0;
}
-
Jebemu mater tako blizu a tako daleko.. svaka čast =D> =D> Eto hvala obojici !! P.S. Ovo pozivanje na system bi me moglo dovest u probleme ahahaha
-
Taj system("pause"); možeš i maknuti.
To se inače kod ovakvih stvari stavlja jer će bi ti u protivnom na većini kompajlera jednostavno izračunao rješenje, prikazao ga i odmah zatvorio program.
Ali budući da Codeblocks prikaže statistiku izvođenja nakon izvođenja programa, tebi ta linija koda zapravo nije potrebna.
-
E da sam znao za HCL dok sam isao u skolu, tj. 1. i 2. razred srednje skole, slao bi vama da mi rijesavate ispite :D
-
Ljudi moji trebat će mi opet pomoć, teže je gradivo a ja ne uspijevam baš to sve popamtit i pratit :wildboy: i sad moram riješit ovaj zadatak pa ako mi netko može pomoć dobro bi došlo! Jer veći je problem što sutra neću stić ništa napisat sam, mora se ići radit :fpalm: Stvarno vas molim za pomoć, pa tko zna neka izvoli :hug
Napisati program koji od korisnika traži unos podataka koji popunjavaju dva jednodimenzionalna polja naziva redak i stupac. U polje naziva redak potrebno je pohraniti 3 cjelobrojne vrijednosti iz raspona od N do M (moraju biti zadovoljeni uvjeti da je N < M, a N i M iz intervala [10, 50] ). U polje naziva stupac potrebno je pohraniti 5 cjelobrojnih vrijednosti iz raspona od [2, 100].
Program u novo dvodimenzionalno polje zapisuje rezultate množenja vrijednosti iz polja redak i stupac po principu kako je prikazano ispisom:
10 12 20
3 30 36 60
4 40 48 80
5 50 60 100
6 60 72 120
7 70 84 140
Gdje su:
Polje redak: 10, 12, 20
Polje stupac: 3, 4, 5, 6, 7
Dvodimenzionalno polje: 30, 36, 60, 40, 48, 80, 50, 60, 100, 60, 72, 120, 70, 84, 140
EDIT: Uspio sam napisat ko zmaj čovječe, još mi ultimatum stavili do ponoći :bonk: Koga zanima kako bi to trebalo zgledati evo pa se divite ;) Da da ovaj redak nije redak nego je stupac a stupac nije stupac nego je redak ali to ovi čomboslavi ne znaju promjenit tekst zadatka :loludara:
#include <stdio.h>
#define MAX 5
int main(){
int redak[MAX];
int stupac[MAX];
int mnoz[MAX][MAX];
int a,b,ok,N,M,i=0;
do{
scanf("%d %d",&N,&M);
ok= N<M && N>=10 && M<=50;
}while(!ok);
for(redak[MAX];i<3;i++){
do{
scanf("%d",&redak[i]);
ok=redak[i]>=N && redak[i]<=M;
}while(!ok);
}
for(i=0;i<5;i++){
do{
scanf("%d",&stupac[i]);
ok=stupac[i]>=2 && stupac[i]<=100;
}while(!ok);
}
for(a=0;a<5;a++){
for(b=0;b<3;b++){
mnoz[a][b]=redak[b]*stupac[a];
}
}
printf("Polje redak: %d, %d, %d\n",redak[0],redak[1],redak[2]);
printf("Polje stupac: %d, %d, %d, %d, %d\n",stupac[0],stupac[1],stupac[2],stupac[3],stupac[4]);
printf("Dvodimenzionalno polje: %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n\n",mnoz[0][0], mnoz[0][1], mnoz[0][2], mnoz[1][0], mnoz[1][1], mnoz[1][2], mnoz[2][0], mnoz[2][1],
mnoz[2][2], mnoz[3][0], mnoz[3][1], mnoz[3][2], mnoz[4][0], mnoz[4][1], mnoz[4][2]);
printf("\t%d\t%d\t%d\n\n%d\t%d\t%d\t%d\n\n%d\t%d\t%d\t%d\n\n%d\t%d\t%d\t%d\n\n%d\t%d\t%d\t%d\n\n%d\t%d\t%d\t%d",redak[0],redak[1],redak[2],stupac[0],mnoz[0][0], mnoz[0][1], mnoz[0][2],stupac[1],
mnoz[1][0], mnoz[1][1], mnoz[1][2],stupac[2],mnoz[2][0], mnoz[2][1], mnoz[2][2],stupac[3],mnoz[3][0], mnoz[3][1], mnoz[3][2],stupac[4],mnoz[4][0], mnoz[4][1], mnoz[4][2]);
return 0;
}