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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 16:25   #1
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
Вопрос Как сделать чтобы двумерный массив который создается в функции можно было использовать в других функциях

Как сделать чтобы двумерный массив который создается в функции можно было использовать в других функциях...
Пример но не рабочий ((

Код:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void form_matr(int m,int n, int** matr)
{
matr = new int*[m];
for(int i=0;i<m;i++)
 {
  matr[i] = new int[n];
  for(int j=0;j<n;j++) matr[i][j] = rand()%100;
  cout<<endl;
 }
cout<<endl;
}

void print_matr(int m,int n,int** matr)
{
for(int i=0;i<m;i++)
 {
  for(int j=0;j<n;j++)
   {
    cout.width(4);
    cout<<matr[i][j];
   }
  cout<<endl;
 }
}


int main()
{
    int **matr;
	int n,m;
    cout<<"Vvedite kolichestvo strok: ";
    cin>>m;
    cout<<"Vvedite kolichestvo stolpcov: ";
    cin>>n;
	form_matr(m,n,matr);
	print_matr(m,n,matr);
	return 1;
}
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Старый 20.04.2009, 16:57   #2
NotProCoder
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 15
По умолчанию

Глобальная переменная... А далее возня с указателями. (было б делфи, то пример привёл бы)
NotProCoder вне форума Ответить с цитированием
Старый 20.04.2009, 17:19   #3
Olya90
Форумчанин
 
Аватар для Olya90
 
Регистрация: 16.03.2009
Сообщений: 125
По умолчанию

эх....жаль ((
Если помогла нажмите на весы
Olya90 вне форума Ответить с цитированием
Старый 20.04.2009, 18:20   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Возвращайте в функции указатель на выделенную память.
Код:
int** form_matr(int m,int n)
{
int **matr = new int*[m];
for(int i=0;i<m;i++)
 {
  matr[i] = new int[n];
  for(int j=0;j<n;j++)
    matr[i][j] = rand()%100;
 }
return matr;
}
и вызывайте так:
Код:
matr = form_matr(m,n);
И не забывайте очищать память:
Код:
for(int i=0;i<m;i++)
 delete[] matr[i];
delete[] matr;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.04.2009, 18:39   #5
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

------------------
Goblin вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12. ciev Общие вопросы Delphi 6 14.05.2016 17:45
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34
Как сделать так, чтобы переключение между окнами было автоматическим? barand Свободное общение 9 07.07.2008 23:54
Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая пр Kamikadze_666 Помощь студентам 2 23.05.2007 02:48