What is happening?
Why is here the runtime error on the 6 test?
What test is 6?
#include <iostream>
#include <cmath>
using namespace std;
void ghjkl(long double p)
{cout << fixed;
cout.precision(4);
cout << p << endl;}
int main() {
long double a[1000]={-1.0};
long long i=0;
while(cin)
{cin >> a[i];
i++;}
i=i-2;
long double b[1000];
for(int k=0; k<1000; k++)
{b[k]=sqrt(a[k]);}
for(int m=i; m>=0; m--)
{ghjkl(b[m]);}
return 0;
}
Edited by author 24.03.2021 16:53
Edited by author 24.03.2021 16:54
Re: What is happening?
i don't know
Edited by author 31.03.2021 19:27
Edited by author 31.03.2021 19:27
Edited by author 31.03.2021 19:27
Re: What is happening?
Oh, I have understood. The array isn't the needed collection for this task. Stack is better.
#include <iostream>
#include <stack>
#include <cmath>
using namespace std;
int main() {
stack<double> a;
double b;
int c=0;
while(cin)
{cin >> b;
a.push(b);
c++;}
c-=1;
a.pop();
for(int i=0; i<c; i++)
{cout << fixed;
cout.precision(4);
cout << sqrt(a.top()) << endl;
a.pop();}
return 0;
}
Edited by author 10.06.2021 03:35
Re: What is happening?
Or you can use deque:
#include <iostream>
#include <queue>
#include <cmath>
using namespace std;
int main() {
deque<double> a;
double b;
int c=0;
while(cin)
{cin >> b;
a.push_back(b);
c++;}
c-=1;
a.pop_back();
for(int i=0; i<c; i++)
{cout << fixed;
cout.precision(4);
cout << sqrt(a.back()) << endl;
a.pop_back();}
return 0;
}