Решение Уравнения. Чтение Из Файла Значений И Запись Результатов В Фай

Fazer77777

New member
30.06.2012
4
0
#1
Здравствуйте!) Нужна программка, считывающая из файла не целые значения S11 через пробел, и подставляющая заданные значения S11 в уравнение с одним неизвестным Y1pr, и выводящая также через пробел в выходной файл результаты решения.
Уравнение выглядит так:
S11=(Y0-Y1pr)/(Y0+Y1pr)
Y0=1/50. Найти Y1pr.

Значений S11 более 10.000. Давно не практиковался, заголовок набросал, дальше не идёт)

C++:
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <cstdio>
#include <fstream>
#include <string>

using namespace std;

int main()
{
double Y0 = 1/50, S11;
double Y1pr;


std::ifstream input("input.txt");
std::ofstream output("output.txt");
if(input && output)
{
Помогите с программкой)
 

Fazer77777

New member
30.06.2012
4
0
#2
Неужели никто не подскажет?
Часть программы написал:

C++:
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <cstdio>
#include <fstream>
#include <string>
#include <sstream>

using namespace std;

int main()
{
double Y0 = 0.02;
double Y1pr;
double S11;

ifstream input("input.txt");
ofstream output("output.txt");


if(input && output)
{
string s;
for(std::size_t i = 0; getline(input, s); ++i)
{
istringstream convert(s);
convert>>S11;
Ypr= Y0 - S11*Y0 - S11*Y1pr;
output << Y1pr << "\n";
}
}

input.close();
output.close();
return 0;
}
Но проблема с самим уравнением. "Ошибка: Ypr: необъявленный идентификатор"
Разбиение:
C++:
Y1pr+= S11*Y1pr;  
Ypr= Y0 - S11*Y0 - Y1pr;
тоже ничего не дало.
Подскажите как правильно записать уравнение?
 
R

rrrFer

#3
зачем тебе считывать из файла строки?

Код:
ifstream ifst("input.txt");
ofstream ofst("output.txt");

float y;
while (false == ifst.eof()) {
ifst >> y;
ofst << (0.02-y)/(0.02+y) << std::endl
}
Ну вот и все.