Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 12:38   #1
JRoger
Новичок
Джуниор
 
Регистрация: 05.12.2011
Сообщений: 2
По умолчанию Передача двухмерного динамического массива в функцию

Честно говоря пересмотрел многие форумы и темы но так и не понял как это сделать. Как передать двухмерный (обычный) массив мне понятно но что делать с динамическим представление не имею.

Вот собственно код на С:


PHP код:
#include<stdio.h>
#include<stdlib.h>

typedef int T;

void Release(**a,size_t m)
{
size_t Row;
    for (
Row=0;Row<m;Row++)
    {
       if(
a[Row]!=NULL)
        {
            
free(a[Row]);
        }
    }
 
free;
}

**Allocate(size_t msize_t n)
{
**a;
size_t Row;
int Success=1;
a=malloc(m*sizeof*a);
    if (
a!=NULL)
    {
       for(
Row=0;Row<m;Row++)
        {
              
a[Row]=malloc(n*sizeof *a[Row]);
             if(
NULL==a[Row])
         {
                        
Success=0;
         }
         }
         if(
1!=Success)
         {
         
Release(a,m);
         
a=NULL;
         }
    }
return 
a;
}

main()
{
**array;
int i,j;
int total=0;
int row=4;
int col=7;

array=
Allocate(row,col);
    if(array!=
NULL)
    {    
      for(
i=0;i<row;i++) //Массив заполняется
          
for(j=0;j<col;j++)
           array[
i][j]=i+j;

        for(
i=0;i<row;i++) //Массив выводится на печать
                          
{
            for(
j=0;j<col;j++)
              {
               
printf("%d",array[i][j]);
               }
            
printf("\n");
        }

    }
Release(array,row);
}
//End of main 
Каким образом передать массив в функцию чтобы заполнение и печать осуществлялись в ней?

Последний раз редактировалось JRoger; 16.12.2011 в 12:42.
JRoger вне форума Ответить с цитированием
Старый 16.12.2011, 14:18   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

передаешь в параметрах функции указать на масив или ссылку, и её размерность...

к примеру так:
void funct2(char **&a, int m, int n);

a - указатель на массив, m и n - размерность массива...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 16.12.2011, 16:41   #3
JRoger
Новичок
Джуниор
 
Регистрация: 05.12.2011
Сообщений: 2
По умолчанию

Спасибо за помощь!
JRoger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача адреса двухмерного массива в функцию. Акоб Общие вопросы C/C++ 8 29.03.2011 14:53
Передача динамического массива krosh87 Работа с сетью в Delphi 3 24.02.2011 18:39
Передача двухмерного массива в функцию tem_80 Общие вопросы C/C++ 3 18.02.2011 23:47
Передача двумерного динамического массива в метод Дырдин Общие вопросы C/C++ 1 19.03.2010 09:45
Передача двухмерного массива в функцию IgorKr Общие вопросы C/C++ 2 28.03.2008 01:11