Электростальский форум
Hi-Tech => Компьютеры, периферия, мультимедиа и ПО => Тема начата: Hitokiri_Rid от 17.02.11, 11:47:28
-
В общем вот код.
Гойоворят Си++, а надо простой Си.
По мне так он и есть и, видимо, я чего-то не понемаю.
Может кто переделать?
#include<iostream.h>
#include <conio.h>
#include <stdio.h>
#define ITNUM 4
float Sqroot(float x)
{ int sp=0,i,inv=0;
float a,b;
cout<<"Введите число, из которого хотите извлечь корень:";
cin>>x;
cout<<endl;
if(x<=0.F) return(0.F);
if(x<1.F) {x=1.F/x;inv=1;}
while(x>16.F) {sp++;x/=16.F;}
a=2.F;
for(i=ITNUM;i>0;i--)
{ b=x/a; a+=b; a*=0.5F; }
while(sp>0) {sp--;a*=4.F;}
if(inv) a=1.F/a;
cout<<"Результат= ";
return(a);
cout<<endl;}
void main()
{ clrscr();
float y, z;
z=Sqroot(y);
cout<<z;
getch(); }
-
cout переделай в printf и будет обычный си :)
и cin в чтонить типа fgets
iostream по идее тоже можно убрать
все остальное можно оставить как есть
-
както так, не проверял, сам компили и дебаж
#include <conio.h>
#include <stdio.h>
#define ITNUM 4
float Sqroot(float x)
{ int sp=0,i,inv=0;
float a,b;
printf("Введите число, из которого хотите извлечь корень:");
scanf("%s",x);
printf ("/n");
if(x<=0.F) return(0.F);
if(x<1.F) {x=1.F/x;inv=1;}
while(x>16.F) {sp++;x/=16.F;}
a=2.F;
for(i=ITNUM;i>0;i--)
{ b=x/a; a+=b; a*=0.5F; }
while(sp>0) {sp--;a*=4.F;}
if(inv) a=1.F/a;
printf ("Результат= ");
return(a);
printf("/n");}
void main()
{ clrscr();
float y, z;
z=Sqroot(y);
printf ("%f",z);
getch(); }
зыж вообще, както по индусски выглядит, ну да ладно :bk: