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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: посчитать сколько раз в двумерном массиве встречается 0. http://www.cyberforum.ru/cpp-beginners/thread558931.html
Задача1. Дан массив размерность 4х4 найти сумму элементов его главной диагонали. Задача2. Дан массив размерностью 4х4. посчитать сколько раз в нём встречается 0.
C++ Вывести все простые числа от M до N включительно Вывести все простые числа от M до N включительно. Ввод В первой строке находятся разделённые пробелом M и N. Вывод Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых - вывести "Absent". Ограничения 2 ≤ M ≤ N ≤ 300 000. http://www.cyberforum.ru/cpp-beginners/thread558923.html
C++ Как пишутся оконные приложения?
Всем доброй ночи:) Друзья, решил вот создать первое оконное приложение, зашел значит в проэкт.. интуитивно прописал пару строк.. но ничего не появилось( просто окошко пустое( помогите.. хоть пару наводок.. что где писать чтоб моё окно не было пустым)) хочу научиться хотя бы "Hello world" выводить, а дальше думаю пойдет дело!) И вопрос, трудно ли консольный вариант кода переводить на окно?
C++ Создание каталога через консольное приложение
Написать программу которая-бы в консольном режиме Windows создавала новый каталог. Заранее спасибо
C++ error C2447: '{' : missing function header (old-style formal list?) http://www.cyberforum.ru/cpp-beginners/thread558869.html
#include <stdio.h> #include<conio.h> int main(int argc, char *argv); { FILE *in, *out; /* описывает два указателя типа FILE */ int ch; static char name ; /* память для имени выходного файла */ int count = 0; if ( argc < 2) /* проверяет, есть ли входной файл */
C++ Файлы Помогите! 1) Создать в Блокноте следующий текстовый файл input_1.txt: У меня спросили: сколько будет x Опер y ? А я не знаю! А n Опер k ? Тоже! Помогите! Например: У меня спросили: сколько будет 7 * 2 ? А я не знаю! А 9 / 4 ? Тоже! Помогите! 2) Создать программу, выводящую содержимое файла из 1) на экран, а в подробнее

Показать сообщение отдельно
BlackJohnnie
Сообщений: n/a

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

26.04.2012, 05:45. Просмотров 358. Ответов 0
Метки (Все метки)

Доброго всем утра!
Сразу извиняюсь за, скорее всего, не рациональное решение проблемы но:
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'е.
Помогите, пожалуйста!
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru