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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 23:04   #1
Jony Wocker
 
Регистрация: 05.02.2010
Сообщений: 4
Злость Почему не работает функция?

Почему не работает функция?

Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//---------------------------------------------------------------------------
void vvod (int **mas,const int n,const int m);
const int n=5;
int main()
{const int q=5;
int i,j;
int x[q][q];
cout<<"Matrica X:\n";
vvod(x,q,q);
getch(); return 0;}

void vvod (int **mas,const int n,const int m)
{int i,j;
for(i=0;i<n;i++)
 {for(j=0;j<m;j++)
   {mas[i][j]=random(100)-99;
    cout<<setw(4)<<mas[i][j]<<" ";}
    cout<<"\n"; }}

//---------------------------------------------------------------------------
Jony Wocker вне форума Ответить с цитированием
Старый 20.04.2010, 23:21   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
#include <vcl.h>
Это здесь совершенно лишнее.
Ну а в функцию вы передаете статический массив, когда ожидался указатель. Попробуйте объявить x тоже как указатель и выделить под него память динамически:
Код:
int** x = new int*[q];
for (int i = 0; i < q; i++)
 x[i] = new int[q];
//...
for (int i = 0; i < q; i++)
 delete[] x[i];
delete[] x;
Кстати, зачем вам константа n, если она нигде не используется?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 21.04.2010, 00:01   #3
Jony Wocker
 
Регистрация: 05.02.2010
Сообщений: 4
По умолчанию

Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//---------------------------------------------------------------------------
int main()
{void vvod (int **mas,const int n,const int m);
int main()
{int i,j;
 int** x = new int*[q];
 for (int i = 0; i < q; i++)
  x[i] = new int[q];
cout<<"Matrica X:\n";
vvod(x,q,q);
for (int i = 0; i < q; i++)
 delete[] x[i];
delete[] x;
getch(); return 0;}

void vvod (int **mas,const int n,const int m)
{int i,j;
for(i=0;i<n;i++)
 {
  for(j=0;j<m;j++)
   {
     mas[i][j]=random(100)-99;
     cout<<setw(4)<<mas[i][j]<<" ";
    }
    cout<<"\n";
    }}

//---------------------------------------------------------------------------
Типа так
Jony Wocker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему функция, а не макрос define? ertyuo Общие вопросы C/C++ 6 08.01.2010 02:27
Почему функция не возвращает никакое значение? Тупой Общие вопросы Delphi 1 31.05.2009 17:31
Почему не работает функция? rocky7 Общие вопросы C/C++ 2 17.02.2009 08:37
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42