Форум программистов, компьютерный форум CyberForum.ru

Как создать динамический массив размерностью m на n? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не могу сделать лабораторки по инфе на языке C++ http://www.cyberforum.ru/cpp-beginners/thread190089.html
помогите не получаются лабы по инфе!!! Посмотрите кто может помочь я 8 вариант! просто сроки поджимают а надо сдать 7 лабораторок по инфе!!! студент 1 курса Прикрепляйте файлы к сообщениям.
C++ Лабораторная работа по С++.Не поняла циклы дана последовательность n из вещественных чисел. Определить, образуют ли они возрастающую последовательность? http://www.cyberforum.ru/cpp-beginners/thread190066.html
Перевод числа из 10 с.с. в 8 с.с. C++
не пойму как создать программу по переводу числа из 10 с.с. в 8 с.с. . Дали несколько задач на расчётно-графическую работу,а учитель толком не объясняет,хотя дата сдачи - через неделю.
Найти сумму ряда с точностью e C++
Найти сумму ряда с точностью e=10-4, общий член которого
C++ ОТРЕДАКТИРОВАТЬ ПРОГРАММУ http://www.cyberforum.ru/cpp-beginners/thread190047.html
1. Создать структуру для работы с рациональными дробями (вида m/n). Данные структуры: числитель, знаменатель, десятичный вариант дроби. Создать функции: ввода числителя и знаменателя, вывода дроби в рациональном и десятичном вариантах с точность до 3 знака после запятой. #include<iostream.h> struct List { //setlocale(LC_ALL, "Russian"); int chisl; int znam; int des; };
C++ функцию какая бы находила количество дней что миновали между двумя датами как написать функцию какая бы находила количество дней что миновали между двумя датами.две дать мы вводим из клавиатуры в формате (день-месяц-год) подробнее

Показать сообщение отдельно
Don Vito
 Аватар для Don Vito
9 / 9 / 1
Регистрация: 22.11.2009
Сообщений: 162
15.11.2010, 21:11     Как создать динамический массив размерностью m на n?
Если в кратце...

Пытаюсь сделать класс работающий с рядами биржевых данных. Все очень, очень сырое, поэтому не рунайтесь...

Функция принимает имя и путь файла и читает его в массив double.

Образец файла:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
20100111 000000 1.47460 1.47480 1.47400 1.47480 0
20100111 000100 1.47450 1.47480 1.47400 1.47400 0
20100111 000200 1.47450 1.47450 1.47400 1.47400 0
20100111 000300 1.47440 1.47480 1.47390 1.47480 0
20100111 000400 1.47420 1.47510 1.47400 1.47510 0
20100111 000500 1.47490 1.47510 1.47480 1.47480 0
20100111 000600 1.47460 1.47520 1.47460 1.47460 0
20100111 000700 1.47520 1.47570 1.47460 1.47460 0
20100111 000800 1.47470 1.47550 1.47460 1.47460 0
20100111 000900 1.47520 1.47520 1.47470 1.47520 0
20100111 001000 1.47480 1.47480 1.47470 1.47470 0
20100111 001100 1.47520 1.47570 1.47430 1.47450 0
20100111 001200 1.47430 1.47500 1.47420 1.47430 0
20100111 001300 1.47460 1.47500 1.47420 1.47500 0
20100111 001400 1.47500 1.47500 1.47410 1.47460 0
20100111 001500 1.47500 1.47500 1.47410 1.47430 0
20100111 001600 1.47500 1.47500 1.47410 1.47460 0
20100111 001700 1.47410 1.47410 1.47410 1.47410 0
20100111 001800 1.47420 1.47490 1.47410 1.47490 0
20100111 001900 1.47460 1.47460 1.47410 1.47450 0
20100111 002000 1.47490 1.47490 1.47410 1.47460 0
20100111 002100 1.47420 1.47490 1.47420 1.47490 0
20100111 002200 1.47460 1.47490 1.47420 1.47420 0
20100111 002300 1.47440 1.47450 1.47420 1.47420 0
20100111 002400 1.47480 1.47480 1.47420 1.47420 0
20100111 002600 1.47480 1.47480 1.47410 1.47410 0
20100111 002700 1.47420 1.47490 1.47420 1.47430 0
20100111 002800 1.47490 1.47500 1.47410 1.47460 0
20100111 002900 1.47470 1.47510 1.47410 1.47470 0
20100111 003000 1.47430 1.47510 1.47430 1.47460 0
20100111 003100 1.47530 1.47530 1.47500 1.47520 0
20100111 003200 1.47500 1.47530 1.47500 1.47530 0
20100111 003300 1.47520 1.47600 1.47490 1.47490 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
double ** Stock_Data::File_Dl_Read(char **A){
 
    double **dMas = 0;
    double *dd = 0;
    unsigned long fsize = 0;
    unsigned long bread = 0;
    char *Buf = 0;
    char s1 [260];
    double *time;
    double *data;
    double *price;
    double *volume;
 
    cin >> s1;
 
    strcat(s1,*A);
 
    FILE *fq = fopen(s1,"rb");
 
        if (!fq){
    
        cout << "File do not open!" << endl;
        }else{
            cout << "File is opened!" << endl;
 
 
    if (fseek(fq, 0L, SEEK_END)){
    
        fclose(fq);
        cout << "Can't move description to the end of file!" << endl;
        //return 1;
    }else {
    
        fsize = ftell(fq);
    }
 
    if (fsize == -1L){
    
        fclose(fq);
        cout << "Can not get file size!" << endl;
        //return 1;
    }
 
    if (fseek(fq, 0L, SEEK_SET)){
    
        fclose(fq);
        cout << "Can not move descriptor to the beginning o the file!" << endl;
        //return 1;
    }
 
    Buf = new char [fsize + 1];
    memset(Buf, 0, fsize + 1);
 
    bread = fread(Buf, sizeof(char), fsize, fq);
 
    if (bread != fsize){
    
        delete [] Buf;
        fclose (fq);
        cout << "File read ERROR" << endl;
        cout << "Bytes read = " << bread << "!" << endl;
        cout << "File size = " << fsize << "!" << endl;
 
    }
 
    char * bf = Buf;
    
    dMas = new double* [fsize + 1];
    for (int i = 0; i < fsize + 1; i++){
    
        dMas[i] = new double [11];
    }
 
 
    for (unsigned long i = 0, z,  count = 0; i < fsize; i+=51){
 
        data  = ChDataToDl(&bf[i]);
 
        for (z = 0; z < 3; count++,z++){
        
            //dMas[i][count] = data[z];
            cout << data[z] << " ";
        
        }
 
        time = ChTimeToDl(&bf[i+9]);
 
        for (z = 0; z < 3; count++, z++){
        
            //dMas[i][count] = time[z];
            cout << time[z]<< " ";
 
        }
 
        price = ChPricesToDl(&bf[i+16]);    
 
        for (z = 0; z < 4; count++, z++){
            
            //dMas[i][count] = price [z];
            cout << price[z]<< " ";
 
        }
            volume = ChPriceToDl(&bf[i+48]);
 
            //dMas[i][count] = *volume;
            cout << *volume<< endl;
 
    }
    
    
 
    fclose (fq);
    delete [] Buf;
        }
 
 
    return dMas;
 
}
 
Текущее время: 19:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru