У меня проблемы, я выполняю задание по статистическому тестированию гипотез. Я могу делать все вычисления на бумаге, но у меня проблемы с чтением из файла в массив.Заполнение массивов из текстового файла
Вот цифры, которые мне нужны, они уже содержатся в текстовом файле input1.txt, как показано ниже.
0,5923 0,58 0,6008 0,6117 0,6295 0,6088 0,6148 0,6369 0,6372 0,6241 0,6034 0,6108 0,591 0,601
109,31 110,13 108,9 108,96 108,86 109,17 109,29 108,62 109,06 108,61 109,83 110,48 111,53 111,02
Я хочу, чтобы определить размер массива должен быть 14 из первой строки, а затем два отдельных массива для первых 14 цифр и второй 14. Если это имеет смысл, мне нужно, чтобы он был заполнен из текстового файла и не был введен пользователем.
На данный момент я могу получить его только для чтения во всех данных до конца файла. Мне нужно, чтобы я читал каждую до конца строки, я думаю?
Любая помощь будет высоко оценена.
Вот что у меня есть.
#include "std_lib_facilities.h"
#include <cctype>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int array_size; //I want this to be 14, read from the first line of txt file
double * array1;
double * array2;
ifstream fin("input1.txt"); //opening an input stream for file
if (fin.is_open())
{
cout << "File opened" << endl;
cin >> array_size;
cout << "N = " << array_size << endl;
array1 = new double[array_size]; //allocate memory for arrays
array2 = new double[array_size];
for (int i = 0; i < array_size; ++i) //fill array1
cin >> array1[i];
for (int i = 0; i < array_size; ++i) //fill array2
cin >> array2[i];
cout << "Arrays are below" << endl << endl;
cout << "Additive ";
for (int i = 0; i < array_size; ++i)
cout << array1[i] << ' ';
cout << endl;
cout << "Yield ";
for (int i = 0; i < array_size; ++i)
cout << array2[i] << ' ';
}
else
{
cout << "File could not be opened." << endl;
}
fin.close();
return 0;
}
Это исправлено. Cheers! – Garysully1986
@ Garysully1986 Возможно, вы захотите [принять ответ] (https://meta.stackexchange.com/a/5235/225842). (Это также даст вам 2 точки репутации :) – Antonio