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

Массив структур из массивов. - C++

Восстановить пароль Регистрация
 
BlackJohnnie
Сообщений: n/a
26.04.2012, 05:45     Массив структур из массивов. #1
Доброго всем утра!
Сразу извиняюсь за, скорее всего, не рациональное решение проблемы но:
1) требуется создать массив, состоящий из структур, в которых некоторые типы - массивы.
2) требуется считать данные из файла и тупо скопировать их в другой файл с помощью fprintf(конечно, мне не нужно копировать файл, но на данном этапе нужно понять, почему код виснет при исполнении)

C++ (Qt)
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
#include "stdafx.h"
#include <stdio.h>
 
int main()
{
    int i,k,m,n,q;
    struct ST {
        int Price[40];
        int Value[40];
    } arr[100];
 
    FILE *input;
    FILE *output;
    char* file_name_in = "train.txt";
    char* file_name_out = "out.txt";
    
    input = fopen (file_name_in, "r");
    output = fopen (file_name_out, "w");
    for (i=0;i<100;i++)
    {   
        for (k=0;k<40;k++)
        {   
            arr[i].Price[k] = 0;
            arr[i].Value[k] = 0;
 
        fscanf(input, "%d %d\n", arr[i].Price [k], arr[i].Value [k]);
        fprintf(output, "%d %d \n",arr[i].Price[k] ,arr[i].Value[k]); 
        }
    }
    
    fclose (input);
    fclose (output);
    return 0;
}


А этот код не виснет:

C++ (Qt)
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
#include "stdafx.h"
#include <stdio.h>
 
int main()
{
    int i,k,m,n,q;
    struct ST {
        int Price[40];
        int Value[40];
    } arr[100];
 
    FILE *input;
    FILE *output;
    char* file_name_in = "train.txt";
    char* file_name_out = "out.txt";
    
    input = fopen (file_name_in, "r");
    output = fopen (file_name_out, "w");
    for (i=0;i<100;i++)
    {   
        for (k=0;k<40;k++)
        {   
            arr[i].Price[k] = 0;
            arr[i].Value[k] = 0;
        fscanf(input, "%d %d\n", arr[i].Price, arr[i].Value);
        fprintf(output, "%d %d \n",arr[i].Price[k] ,arr[i].Value[k]); 
        }
    }
    
    fclose (input);
    fclose (output);
    return 0;
}

Разница только в том, тчо во втором случае нет индексов массивов в fscanf'е.
Помогите, пожалуйста!
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 05:45     Массив структур из массивов.
Посмотрите здесь:

Создание программы с использованием собственных функций. Использование массивов и структур C++
C++ Обработка массивов, строк и структур в функциях
C++ решение обработки массивов структур с использованием контейнеров
C++ Сохранения Информации с использованием структур и массивов
C++ Функция qsort для сортировки массивов структур
Ввести массив структур; рассортировать массив в алфавитном порядке C++
Создание массива массивов структур с++ C++
C++ C++ Отличия структур от массивов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru