Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
starikNAD
11 / 11 / 3
Регистрация: 01.12.2010
Сообщений: 83
#1

Создать динамический трехмерный массив и функцию ввода его элементов - C++

05.12.2010, 17:08. Просмотров 1451. Ответов 3
Метки нет (Все метки)

с клавиатуры вводится размер трехмерного массива. Необходимо выделить под него память и с клавиатуры ввести значения элементов массива. Язык - стандартный C, не C++
Например: 2 3 4 означает массив из двух матриц, каждая размером 3х4. Нужно ввести m[0][0][0], m[0][0][1] и так далее. Для двумерного массива использовать calloc() умею, а для трехмерного нет. И даже если бы удалось выделить память под массив, то как должен выглядеть прототип функции inp_arr(), и как выглядит вызов такой функции.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать динамический трехмерный массив и функцию ввода его элементов (C++):

Как создать динамический трехмерный массив и заполнить его случайными значениями? - C++
Я больше по Java, но сейчас надо сделать пару задачек по плюсам. Одна из них звучит как-то так: Во-первых, меня смущает тот...

Создать трехмерный массив и изменить его индексацию - C++
Создать массив в.Изменить индексацию, чтобы последний элемент имел индексы 0,-1,2.Если можно на СИ

Создать функцию, в качестве параметра получает массив и количество его элементов, возвращает массив, упорядоченный по возрастанию - C++
помогите решить задачу в с++ создать функцию, в качестве параметра получает массив и количество его элементов, возвращает массив,...

Трехмерный динамический массив - C++
Помогите создать трехмерный динамический массив, в c++ не сильно шарю, а в гугле нужной информации не нашёл. Добавлено через 10 минут ...

Трехмерный динамический массив - C++
Здравствуйте друзья, я переписываю код с Delphi на C++. В Delphi был задан динамический трехмерный массив следующим образом: ...

Трехмерный динамический массив типа char - C++
Здравствуйте! Я хочу создать двухмерную матрицу, каждым элементом которой должна являться символьная строка длиной 20. По сути получается...

3
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
05.12.2010, 17:11 #2
starikNAD, Почти как для двумерного...

C
1
void foo(int*** Arr, int n, int m, int k);
0
starikNAD
11 / 11 / 3
Регистрация: 01.12.2010
Сообщений: 83
06.12.2010, 03:18  [ТС] #3
ForEveR, спасибо!
это мой первый опыт работы с трехмерными массивами. Буду сильно благодарен, если еще подскажешь как написать вызов функции. Вот кусок моего кода:
C
1
2
3
4
5
6
7
8
9
10
11
int m,n,k, a,b,d;
int ***Arr;
void foo(int ***Arr, int, int, int)
 
int inp_arr(m,n,k, ***arr)
{
  Arr = (int ***)  calloc(m, sizeof(int **);
  for (a=0;a<m;a++)
     Arr[b][d]=(int **) calloc(n, sizeof(int *)
     for(b=0...;
}
... но довести до конца ума не хватило...

Добавлено через 9 часов 53 минуты
... уже 31 человек посмотрел тему, а советов нет ...
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
06.12.2010, 07:48 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
starikNAD,
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
#include <stdio.h>
#include <malloc.h>
 
void foo(int ***, int, int, int);
 
int main()
{
     int*** Arr;
     int n, m, k;
     printf("Enter n, m, k\n");
     scanf("%d %d %d", &n, &m, &k);
     Arr=(int***) malloc(n*sizeof(int**));
     int i, j;
     for(i=0; i<n; ++i)
        Arr[i]=(int**) malloc(m*sizeof(int*));
     for(i=0; i<n; ++i)
        for(j=0; j<m; ++j)
           Arr[i][j]=(int*) malloc(k*sizeof(int));
     foo(Arr, n, m, k);
     for(i=0; i<n; ++i)
        for(j=0; j<m; ++j)
           free(Arr[i][j]);
      for(i=0; i<n; ++i)
         free(Arr[i]);
      free(Arr);
     return 0;
}
 
void foo(int*** Arr, int n, int m, int k)
{
    //Do something
}
1
06.12.2010, 07:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 07:48
Привет! Вот еще темы с ответами:

Заполнить и вывести трехмерный динамический массив - C++
Создать трехмерный динамический массив. Заполнить его случайными числами и вывести результат на экран. Заполнение и вывод сделать через...

Как вывести трехмерный динамический массив - C++
народ можете подсказать) написал код, где заполняется трехмерный массив так как мне необходимо, но при его выводе часть массива, вместо...

Создать динамический массив и вывести его на экран - C++
Напишите программу, в которой создается одномерный символьный динамический массив. Инициализируйте массив. Результат выведите на экран.

Создать динамический массив, заполнить его и вывести - C++
Задача такая, создать динамический массив, заполнить его и вывести. Набросал код #include &lt;iostream&gt; using namespace std; class...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.