crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Передача массива как аргумента
Гость_vovan_*
сообщение 19.3.2011, 20:44
Сообщение #1





Гости








    


#include <iostream>
#include <time.h>
//#include <math.h>
#include <stdlib.h>

using namespace std;


#define N 4
#define M 5


int colCount( int **a);

int main()
{
  int a[N][M], i, j, temp;
  for(i=0; i<N; i++)
    {
      for(j=0; j<5; j++)
        {
          a[i][j] =  (20*rand()) / (RAND_MAX-10);
          cout << a[i][j] << '\t';
        }
    }
  temp = colCount(a);
  cout << temp;
  return 0;
}

int colCount( int **a)
{
  int i,j,retval;
  for(i=0; i< N; i++)
    {
      for(j=0; j<5; j++)
        {
          if(a[i][j] != 0)
            retval++;
          else retval--;
        }
    }
  return retval;
}


ошибка:
main.cpp:26:17: error: cannot convert 'int (*)[4][5]' to 'int**' in initialization

Объясните/направьте в чем проблема? :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_*
сообщение 19.3.2011, 21:36
Сообщение #2





Гости








    


Цитата(Алексей1153 @ 19.3.2011, 21:30) *
Ну и поведай теперь, почему отказ от C++ в пользу C ? Мне просто интересно

потому что я пока не уверен, что мне следует лезть в дебри C++, если я не совсем понимаю как сделать что-либо на Си.

Цитата(Алексей1153 @ 19.3.2011, 21:30) *
в этом случае у меня был бы одномерный динамический массив и набор функций для доступа к определённому индексу
если платформа не позволяет динамический массив, сойдёт и одномерный статический

спасибо, буду учиться дальше :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 12:34