Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2009, 17:05   #1
Dem80
 
Регистрация: 05.03.2009
Сообщений: 3
По умолчанию Как решить проблему с массивом?

Здравствуйте ,у меня проблема с массивом при выставлении значения
double Clock2[1 000 000] и компилировании ,программа Dev-C++ вылетает ,как только
значение с 1 000 000 меняю на 100 000 всё получается,незнаете как сделать чтобы я смог использовать массив в миллион?В базе более 2 000 000 строк и обнуление массива невозможно.
Код:
#include <fstream>
#include <sstream>
#include <iostream>
using namespace std;
       
bool parseString(char* pString, char* pName, char   arraySize, 
          int& Ceh, int& Tabel,double& Clock)
{     
    istringstream inp(pString);
    inp.getline(pName,arraySize,',');

    char ch;
    inp >> Ceh >> ch;    //--Цех
    inp >> Tabel >> ch;  //--Табельный номер
    inp >> Clock;        //--Отработаные часы

    return !inp.fail();
}    
int main(int nNumberofArgs, char* pszArgs[])
{    
    ifstream* pFileStream = new ifstream("Baza.txt");
   
    const static char fileName[] = "Средние.txt";
    ofstream r(fileName); 
   
if (!pFileStream->good())   
    {
        cout << "Can't open Baza.txt" << endl;system("PAUSE");
        return 0;
    } 
    long A,B,z=0,y=0,i=0;
    double Clock2[100000]; //-- Массив 
    double x=0; 
    cout <<"A= ";cin >>A; 
    //cout <<"B= ";cin >>B;  
    for(;;)
     {           
       char buffer[256];
       pFileStream->getline(buffer, 256);      
       if (pFileStream->fail()) {break;}
       char Name[80]; 
       int  Ceh,Tabel; 
       double Clock;      
       bool result = parseString(buffer,Name,80,Ceh,Tabel,Clock); 
       /* 
       r  <<"Инициалы: "<<Name<<",Цех:"<<Ceh<<",Табельный номер: "<<Tabel
          <<",Отработаные часы: "<<Clock<<"\n";
          */  
       Clock2[i]=Clock;
       i++;      
       if (i>A)
        {
         for (;z<A;z++)
          {
            x=Clock2[z]+x;
          }
         y++;z=y;A++;   
         cout <<x<<"\n";
         x=0;  
        } 
      
    }   // <--FOR(;;) 
        system("PAUSE");
    return 0; 
}
Dem80 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
здравствуйте, подскажите пожалуйста как решить задачку с массивом в паскале... =|винтик|= Помощь студентам 5 20.01.2009 23:27
ПОМОГИТЕ РЕШИТЬ ПРОБЛЕМУ !!!!!!!!!!!! ЛиЛу Помощь студентам 5 29.12.2008 15:36
Помогите решить проблему nismo Microsoft Office Excel 7 12.09.2008 08:59
помогите решить проблему ... alexey7 Microsoft Office Excel 2 16.10.2007 13:25