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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2010, 12:14   #1
3.14rojoke
Новичок
Джуниор
 
Регистрация: 14.04.2010
Сообщений: 1
Печаль Функции и массивы.

смысл в том, что бы все действия сделать с помощью функций пользователя. при введении последнего элемента массива выдает переполнение памяти. виолэйшн аксесс такой-то адресс чего-то там.
преподша мычит, ничего сказать не может.
Код:
#include <stdlib.h>
#include <iostream.h> 
#include <conio.h>
#include <math.h>
 #define n  5
//Выделение памяти под массив 
int **get2DDynArr(int h) {
  int **array2d=new int*[h];
  for (int i=0; i<h; i++)
  array2d = new  int*[h];
   return   array2d;  }

//Отчиска памяти
        void delete2DDynArr(int** arr, int h) {
    for (int i = 0; i < h; ++i)
    delete [] arr[i];
   delete[] arr;}
 
 //---инициализация массива
int vved (int k, int **mas)
 {
  for (int i = 0; i<k; i++)
    {
    for (int j = 0; j < k; j++) {
    cout << "Enter arr[" <<i<< "][" << j << "]:\t";
     cin >>*(*(mas+i)+j) ;
         cout << endl; } }
         return 0; }


 //---------------------------------------------------тело
void main () {
          int K ; int** arr;

cout << "Vved.storunu.m. Warning! m <= " << n << endl; cin >> K;  
//Выделение памяти под массивы
    arr=get2DDynArr(K);
    vved (K, arr);     }
3.14rojoke вне форума Ответить с цитированием
Старый 14.04.2010, 15:32   #2
evgn
Разрабатываюсь....
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 68
По умолчанию

У Вас память выделяется непонятно куда...
Код:
//Выделение памяти под массив 
int **get2DDynArr(int h) {
  int **array2d=new int*[h];
  for (int i=0; i<h; i++)
  array2d[i] = new  int[h];
   return   array2d;  }

А зачем нужно пистаь *(*(mas+i)+j)? Чтобы пострашнее выглядело?
Может mas[i][j] лучше будет?
evgn вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции и массивы Baaandit Общие вопросы C/C++ 11 21.03.2010 00:22
Массивы и функции в Visual С++ Vanja Visual C++ 4 11.01.2010 15:26
Массивы и функции на Си Wertex Помощь студентам 5 17.09.2009 23:59
Delphi,массивы, процедуры и функции Annn Помощь студентам 1 19.06.2009 01:50
Массивы, процедуры/функции Вампирёк Помощь студентам 1 16.03.2009 10:15