#include #include #include using namespace std; pair,int> read_data() { string str; vector a; int stopien = 0; fstream file("../dane.txt"); if (!file) { cerr << "Nie udalo sie otworzyc pliku\n"; exit(EXIT_FAILURE); } while (getline(file, str)) { a.insert(a.begin(), stof(str)); // cout << "a[" << stopien << "]=" << str << endl; stopien++; } file.close(); if (stopien <= 0) { cout << "Plik istnieje, ale jest pusty!\n"; exit(EXIT_FAILURE); } return make_pair(a, stopien); } vector policz(vector a, int stopien, float x) { vector b(stopien); for (int i = stopien - 1; i >= 0; i--) { if (i == stopien) { b[i] = a[i]; } else if (i > 0) { b[i] = a[i] + b[i + 1] * x; } else if (i == 0) { b[i] = a[i] + b[i + 1] * x; } } return b; } int main() { float x = 0; cout << "Program do obliczenia wielomianu schematem hornera\n"; pair,int> para = read_data(); vector a = para.first; int stopien = para.second; vector b; cout << "Podaj x dla ktorego szukamy rozwiazania: "; cin >> x; b = policz(a, stopien, x); for (int i = b.size()-1; i >= 0; i--) { cout << "b" << i << ": " << b[i] << "\n"; } cout << "Rozwiazaniem wielomianu jest: " << b[0] << endl; return 0; }