Выпуск № 1325 от 07.06.2009, 01:35
Администратор рассылки: Dr_Andrew, Младший модератор
В рассылке: подписчиков - 627, экспертов - 143
В номере: вопросов - 2, ответов - 2
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 168666: Здравствуйте эксперты, подскажите пожалуйста: Надо обрабатывать большой массив чисел который задается в ручную, как вбив один раз в массив их, грамотно сохранить массив в файл, а затем обратно загрузить его из файла ...
Вопрос № 168735: Здравствуйте, нужна ваша помощь в решении задачи. Задание: Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна....
Вопрос № 168666:
Здравствуйте эксперты, подскажите пожалуйста: Надо обрабатывать большой массив чисел который задается в ручную, как вбив один раз в массив их, грамотно сохранить массив в файл, а затем обратно загрузить его из файла
Вот пример кода для одномерного массива. Для многомерных все тоже самое, только для записи/чтения нужно делать вложенные циклы по каждой размерности. И сохранять построчно. Например, для 3-хмерного массива цикл записи будет выглядеть так:
void SaveArray (int *** p_arr, int n1, int n2, int n3, char * p_fname) { ... fprintf (f, "%d\n%d\n%d\n", n1, n2, n3);
for (int k = 0; k < n3; k++) for (int j = 0; j < n2; j++)
for (int i = 0; i < n1; i++) fprintf (f, "%d\n", *(*(*(p_arr + i) + j) + k));
... } вот исправленный код
Код:
include <stdio.h> #include <stdlib.h> #include <malloc.
h>
int InputArray (int ** p_arr) { int n;
printf ("Введите размер массива: "); scanf ("%d", &n);
(*p_arr) = (int*)malloc (n * sizeof (int));
printf ("Введите элементы массива"); for (int i = 0; i < n; i++) { printf ("%d --> ", i); scanf ("%d", (*p_arr) + i); }