Forum » Programiranje » Deljenje v C-ju z rekurzijo
Deljenje v C-ju z rekurzijo
sebi7 ::
Pozdravljeni.Nalogo imam narediti tole:
napišite funkcijo za izračun ostanka pri deljenju celoštevilčnega števila, brez uporabe operacij deljenja,ostanka pri deljenju in množenja. V glavne programu demonstrirajte delovanje funkcije tako, da program kot parameter ukazne vrstice prejme dva parametra deljenca in delitelja (za pretvorbo niza v število uporabite funkcijo atoi) in izpiše ostanek pri deljenju deljenca z deliteljem.
tole sem uspel dobit:
int OstanekPriDeljenju(int deljenec, int delitelj)
{
int deljenecNEG = 0;
int deliteljNEG = 0;
int ostanekStevil = 0;
if(deljenec < 0)
{
deljenec = -(deljenec);
deljenecNEG = 1;
}
if(delitelj < 0)
{
delitelj = -(delitelj);
deliteljNEG = 1;
}
deljenec = deljenec - delitelj;
if(deljenec > 0)
{
if(deljenecNEG == 1)
{
deljenec = -(deljenec);
}
if(deliteljNEG == 1)
{
delitelj = -(delitelj);
}
return OstanekPriDeljenju(deljenec, delitelj);
}
else
{
if(deljenec == 0)
{
ostanekStevil = 0;
}
else
{
ostanekStevil = deljenec + delitelj;
if(deljenecNEG == 1 && deliteljNEG == 0)
{
ostanekStevil = -(ostanekStevil);
}
if(deljenecNEG == 1 && deliteljNEG == 1)
{
ostanekStevil = -(ostanekStevil);
}
}
return ostanekStevil;
}
}
int main(int argc, char* argv[])
{
int deljenec = 0;
int delitelj = 0;
int ostanekStevil = 0;
if(argc == 3)
{
deljenec = atoi(argv[1]);
delitelj = atoi(argv[2]);
ostanekStevil = OstanekPriDeljenju(deljenec, delitelj);
if (delitelj == 0)
return 0;
printf("%d", ostanekStevil);
}
return 0;
}
[ /st.koda c]
napišite funkcijo za izračun ostanka pri deljenju celoštevilčnega števila, brez uporabe operacij deljenja,ostanka pri deljenju in množenja. V glavne programu demonstrirajte delovanje funkcije tako, da program kot parameter ukazne vrstice prejme dva parametra deljenca in delitelja (za pretvorbo niza v število uporabite funkcijo atoi) in izpiše ostanek pri deljenju deljenca z deliteljem.
tole sem uspel dobit:
int OstanekPriDeljenju(int deljenec, int delitelj)
{
int deljenecNEG = 0;
int deliteljNEG = 0;
int ostanekStevil = 0;
if(deljenec < 0)
{
deljenec = -(deljenec);
deljenecNEG = 1;
}
if(delitelj < 0)
{
delitelj = -(delitelj);
deliteljNEG = 1;
}
deljenec = deljenec - delitelj;
if(deljenec > 0)
{
if(deljenecNEG == 1)
{
deljenec = -(deljenec);
}
if(deliteljNEG == 1)
{
delitelj = -(delitelj);
}
return OstanekPriDeljenju(deljenec, delitelj);
}
else
{
if(deljenec == 0)
{
ostanekStevil = 0;
}
else
{
ostanekStevil = deljenec + delitelj;
if(deljenecNEG == 1 && deliteljNEG == 0)
{
ostanekStevil = -(ostanekStevil);
}
if(deljenecNEG == 1 && deliteljNEG == 1)
{
ostanekStevil = -(ostanekStevil);
}
}
return ostanekStevil;
}
}
int main(int argc, char* argv[])
{
int deljenec = 0;
int delitelj = 0;
int ostanekStevil = 0;
if(argc == 3)
{
deljenec = atoi(argv[1]);
delitelj = atoi(argv[2]);
ostanekStevil = OstanekPriDeljenju(deljenec, delitelj);
if (delitelj == 0)
return 0;
printf("%d", ostanekStevil);
}
return 0;
}
[ /st.koda c]
sebi7 ::
Deluje dobro le ko delimo z nič takrat je to večna zanka.Na koncu v mainu rabim nekako vstavit pogoj da če je delitelj 0 pol naj za ostanek vzeme nič, in to ne vem kako ker tole definitivno ni pravilno
int main(int argc, char* argv[])
{
int deljenec = 0;
int delitelj = 0;
int ostanekStevil = 0;
if(argc == 3)
{
deljenec = atoi(argv[1]);
delitelj = atoi(argv[2]);
ostanekStevil = OstanekPriDeljenju(deljenec, delitelj);
if (delitelj == 0) ----------->tole ni dobro vstavljeno
return 0;
printf("%d", ostanekStevil);
}
return 0;
}
int main(int argc, char* argv[])
{
int deljenec = 0;
int delitelj = 0;
int ostanekStevil = 0;
if(argc == 3)
{
deljenec = atoi(argv[1]);
delitelj = atoi(argv[2]);
ostanekStevil = OstanekPriDeljenju(deljenec, delitelj);
if (delitelj == 0) ----------->tole ni dobro vstavljeno
return 0;
printf("%d", ostanekStevil);
}
return 0;
}
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Deljenje z 0Oddelek: Šola | 8478 (5125) | JanBrezov |
» | NUJNO!Algoritmi C++Oddelek: Pomoč in nasveti | 1954 (1216) | DOOM_er |
» | Diagram poteka - pomočOddelek: Programiranje | 1530 (1485) | Ciklamen |
» | [java] problem z decimalkamiOddelek: Programiranje | 1581 (1255) | NeOman |
» | Programiranje- diagramOddelek: Programiranje | 1530 (1477) | Cyrus008 |