N
Negent
Доброго времени суток, уважаемые программисты!
Вкратце: шефом была поставлена задача выяснить остатки витой пары на складе... Однако простое суммирование - это не наш метод, поэтому я написал программу, которая считывает длины из файла и потом суммирует эти длины, далее, сортирует в порядке возрастания и в будущем (надо написать часть) записывает массив в файл.
Однако я получил сумму и сбой "Необработанное исключение. Нарушение прав доступа".
Прошу помочь, подсказать, где ошибка в цикле, использующем "while". Компилятор (MS Visual C++ 2010) спотыкается именно там.
Файл, простой текстовый со следующими данными:
Вкратце: шефом была поставлена задача выяснить остатки витой пары на складе... Однако простое суммирование - это не наш метод, поэтому я написал программу, которая считывает длины из файла и потом суммирует эти длины, далее, сортирует в порядке возрастания и в будущем (надо написать часть) записывает массив в файл.
Однако я получил сумму и сбой "Необработанное исключение. Нарушение прав доступа".
Прошу помочь, подсказать, где ошибка в цикле, использующем "while". Компилятор (MS Visual C++ 2010) спотыкается именно там.
C++:
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
void main ()
{
ifstream FromFile;
FromFile.open ("spisok.txt");
if (!FromFile.is_open())
{
cout<<"File not found!";
exit(EXIT_FAILURE);
}
//Инициализация массива и счётчика
int const size = 100;
double arr[size];
int i = 0;
double sum = 0;
double TempValue = 0;
//Считывание элементов массива
while (FromFile.good ())
{
FromFile>>TempValue;
arr[i] = TempValue;
cout<<TempValue<<" ";
sum +=TempValue;
cout<<"Sum: "<<sum<<endl;
i++;
}
if (FromFile.eof()) cout<<"End of file!"<<endl;
else if (FromFile.fail ()) cout<<"Type mismatch!"<<endl;
else if (sum == 0) cout<<"No data!"<<endl;
else cout<<"Unknown error!"<<endl;
//Сортировка элементов массива
for (i=0; i<size-1; i++)
{
if (arr[i]>arr[i+1])
{
TempValue = arr[i+1];
arr[i+1] = arr[i];
arr[i] = TempValue;
}
}
i=0;
while (i<size-1)
{
cout<<"arr["<<i+1<<"] = "<<arr[i]<<" ";
i++;
}
system ("pause");
}
140 108 50 21 20 15 11 32 14 14 9 7 10 4.5 8 6 4 16 6 3 7 5.2 5 4 5 8 6 9.5 7 4.2 4.5 8 5 5 5 7 13 13 7 4 9 5 7 8 4 13 13 6 8 5 5 5 18 9 10 6 8 10 19 13 9 10 13 23 13 14 14 10 27 12 21 9 22 31 10 10 89 7 4 4 4 5 3.9 35 5 8 6 4.2 4 15 5 5 7.5 9 11 4 4 3 14 11 2 11 2.5 13 10 5 5 13 0