Как переделать любую из функций под void? - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <math.h>
/*int ch1,ch2,osn,PR,pr,summa,PROI,a,b;
double de;*/
int Perevert(int x)
{
int xp = 0;
while(x)
{
xp = xp*10 + x%10;
x /= 10;
}
return xp;
//return;
}
int slozhenie(int ch1,int ch2,int osn,int summa)
{
int zts,pts,o,o1,o2,k,e,u;
summa=0;
zts=0;
k=1;
e=1;
do
{
o1=ch1%10;
o2=ch2%10;
o=(o1+o2+zts);
if (o>=osn)
{
pts=(o-osn);
if (pts==0)
k=k*10;
summa=(summa*10+pts);
zts=(o/osn);
ch1 /= 10;
ch2 /= 10;
}
else
{
zts=(o/osn);
summa=(summa*10+o);
ch1 /= 10;
ch2 /= 10;
}
}
while ((ch1>0)||(ch2>0));
if (summa==0) summa=1;
u=(Perevert(summa)*k);
do
{ if ((summa%10)==0)
{
e=e*10;
summa /=10;
}
else
summa /=10;
}
while (summa>0);
return u/e;
}
int proizvedenye(int ch1,int ch2,int osn,int &PROI)
{
int pro,ztspr,ptspr,o1,o2,PR,pr,f,p,P,a,d;
PR=0;
f=1;
a=ch1;
d=0;
do
{
pr=0;
ztspr=0;
o2=ch2%10;
do
{
o1=ch1%10;
pro=o2*o1+ztspr;
if (pro>=osn)
{
ptspr=pro%osn;
ztspr=pro/osn;
ch1 /=10;
pr=pr*10+ptspr;
}
else
{
pr=pr*10+pro;
ch1 /=10;
ztspr=0;
}
}
while (ch1>0);
if (ztspr>0)
pr=pr*10+ztspr;
// if (d>1)
// {
PR=slozhenie(Perevert(pr)*f,PR,osn,PROI);
f=f*10;
ch2 /=10;
ch1=a;
/*}
else
{
ch2 /=10;
PR=Perevert(pr);
}
d++;*/
}
while (ch2>0);
return PR;
}
int perevod10(int ch,int osn,double des)
{
double n,ost,k;
des=0;
n=0;
do
{
ost=ch%10;
k=ost*pow(osn,n);
des=des+k;
ch /=10;
n++;
}
while (ch>0);
return des;
}
int main()
{ int ch1,ch2,osn,PR,pr,summa,PROI,a,b;
double de;
PROI =0;
printf("\n ch1: ");
scanf("%d",&ch1);
printf("\n ch2: ");
scanf("%d",&ch2);
printf("\n osn: ");
scanf("%d",&osn);
printf("\n funcia slozhenie: ");
a=slozhenie(ch1,ch2,osn,Perevert(summa));
printf("%d",perevod10(a,osn,de));
printf("\n funcia proizvedenie: ");
b=proizvedenye(ch1,ch2,osn,PROI);
printf("%d",perevod10(b,osn,de));
printf("\n slozhenie v desut: ");
printf("%d",perevod10(ch1,osn,de)+perevod10(ch2,osn,de));
printf("\n umnozhenie v desut: ");
printf("%d",perevod10(ch1,osn,de)*perevod10(ch2,osn,de));
getchar();
getchar();
}Решение задачи: «Как переделать любую из функций под void?»
textual
Листинг программы
// ... int summa, t , ... ; // ... Perevert(summa,&t); a=slozhenie(ch1,ch2,osn,t); // ...