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

Записать масив в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Деревья http://www.cyberforum.ru/cpp-beginners/thread93878.html
Ребята!очень нужна помощь!Никак не могу догнать как решить задачки: 1) Определить какие поддеревья являются пирамидами 2) Найти поддерево, не включающее ни одной из заданной вершин 3) Найти поддеревья,структура которых совпадает с заданной...
C++ Поменять строку и столбец. Массив 5*6. Поменять местами строку и столбец в которых находится минимальны элемент. Вот не могу понять алгоритма Обмена строки и столбца. Подскажите.? плз. http://www.cyberforum.ru/cpp-beginners/thread93864.html
иерархия классов C++
нашол иерархию клиент-авиакомпания вот она #include<iostream.h> #include<string.h> char newline; class con{ char name;street;city;state;zip; public:
Массивы C++
Всем здрасте. Есть просьба подскажите пожалуйста ссылочку или книгу где нормально описаны массивы а то не могу разобраться в них. Ну и перейдём к к главному вопросу) Люди тут такое дело задали "Вывести на экран не повторяющиеся элементы массива" а не могу сделать. Может ктот подсказать что и как? За ранее премного благодарен.
C++ Формула для ряда http://www.cyberforum.ru/cpp-beginners/thread93836.html
помогите плиз разобраться с формулой для ряда s=(1/4)*(1/16)*(1/32)*(1/64)*... float s=0,j=2,n; printf("Введите число членов ряда: "); scanf ("%f",&n); for(float j=1;j<=n;j++) { s=float(1)/(float(j)*float(j)); }
C++ Найти Х при help plz)))))) 1 2 завтра екзамены срочноо Хелп подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
09.02.2010, 19:25     Записать масив в файл
shans, диржы!
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct {
    size_t rows;
    size_t cols;
} Dim_t;
 
#define FILE_NAME "matrix.bin"
 
int main(void){
    Dim_t out_matrix_dim, in_matrix_dim; /* для чистоты эксперимента */
    int **out_matrix, **in_matrix, i, j;
    FILE *f;
    
    srand(time(NULL));
    
    /* исходная матрица */
    out_matrix_dim.rows = 5;
    out_matrix_dim.cols = 10;
    if ( ( out_matrix = (int**)calloc(out_matrix_dim.rows, sizeof(int*)) ) == NULL ){
        perror("Bad memory!\n");
        exit(1);
    }
    for ( i = 0; i < out_matrix_dim.rows; ++i ){
        if ( ( out_matrix[i] = (int*)calloc(out_matrix_dim.cols, sizeof(int)) ) == NULL ){
            perror("Bad memory!\n");
            exit(1);
        }
    }
    printf("\nOriginal:\n");
    for ( i = 0; i < out_matrix_dim.rows; ++i )
        for ( j = 0; j < out_matrix_dim.cols; ++j )
            printf( ( j < out_matrix_dim.cols - 1 ) ? "%d " : "%d\n", ( out_matrix[i][j] = rand() % 10 ) );
    
    if ( ( f = fopen(FILE_NAME, "wb") ) == NULL ){
        perror("Can't open output file!\n");
        exit(1);
    }
    
    if ( fwrite(&out_matrix_dim, sizeof(Dim_t), 1, f) != 1 ){
        perror("Can't write to file!\n");
        exit(1);
    }
    for ( i = 0; i < out_matrix_dim.rows; ++i ){
        if ( fwrite(out_matrix[i], sizeof(int), out_matrix_dim.cols, f) != out_matrix_dim.cols ){
            perror("Can't write to file!\n");
            exit(1);
        }
    }
    fclose(f);
    f = NULL;
    
    /* чтение записанного */
    if ( ( f = fopen(FILE_NAME, "rb") ) == NULL ){
        perror("Can't open input file!\n");
        exit(1);
    }
    if ( fread(&in_matrix_dim, sizeof(Dim_t), 1, f) != 1 ){
        perror("Can't read from file!\n");
        exit(1);
    }
    /* проверка размеров */
    if ( out_matrix_dim.rows != in_matrix_dim.rows || out_matrix_dim.cols != in_matrix_dim.cols ){
        perror("Shit happens!\n");
        exit(1);
    }
    if ( ( in_matrix = (int**)calloc(in_matrix_dim.rows, sizeof(int*)) ) == NULL ){
        perror("Bad memory or something!\n");
        exit(1);
    }
    for ( i = 0; i < in_matrix_dim.rows; ++i ){
        if ( ( in_matrix[i] = (int*)calloc(in_matrix_dim.cols, sizeof(int)) ) == NULL ){
            perror("Bad memory!\n");
            exit(1);
        }
        if ( fread(in_matrix[i], sizeof(int), in_matrix_dim.cols, f) != in_matrix_dim.cols ){
            perror("Can't read from file!\n");
            exit(1);
        }
    }
    /* вывод */
    printf("\nFrom file:\n");
    for ( i = 0; i < in_matrix_dim.rows; ++i )
        for ( j = 0; j < in_matrix_dim.cols; ++j )
            printf( ( j < in_matrix_dim.cols - 1 ) ? "%d " : "%d\n", in_matrix[i][j]);
    
    /* очистка памяти */
    for ( i = 0; i < in_matrix_dim.rows; ++i ){
        free(in_matrix[i]);
        free(out_matrix[i]);
    }
    free(in_matrix);
    free(out_matrix);
    
    exit(0);
}
 
Текущее время: 00:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru