Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача двумерного массива функции... выдает ошибку 
:(
    Опции темы
Sabretooz
Дата 12.2.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.1.2006

Репутация: нет
Всего: нет



Писал простенькую прогу, хотел передать функции массив двумерный, чтоб она его по моим условиям отсортировала, написал все, а когда хотел запустить выдала ошибку с подсказкой missing subscript, которая, как вы уже наверное догадались ничего мне не говорит:-).
Как только полностью переделал на одномерный массив, сразу заработала. Вот кусочек проги в двумерном варианте

Код

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void InitMas(int Mas[][],int size) //inicializacija massiva
{
    int i,j;
    for(i=0;i<size;i++)
    {
        for(j=0;j<size;j++)
            Mas[i][j]=rand()%6;
    }
}

void PrintMas(int Mas[][],int size) //vyvod massiva na e'kran
{
    int i,j;
    for(i=0;i<size;i++)
    {
        for(j=0;j<size;j++)
            printf("%d",Mas[i][j]);
        printf("\n");
    }

}

void main()
{
    srand(time(0));
    const int SIZE=10;
    int Mas[SIZE][SIZE];
    InitMas(Mas,SIZE);
    PrintMas(Mas,SIZE);
}


вообщем объясните плззз что я делаю не так, чтоб впредь уже запомнил свою ошибку.
С уважением...

Это сообщение отредактировал(а) Sabretooz - 12.2.2006, 11:02
PM MAIL   Вверх
Partizan
Дата 12.2.2006, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



размерность массива нужно передавать....
если у тебя размерность массива равна 10 , то надо передавать int Mas[][10]

Как вариант можно передавать в одном из параметров двойной указатель, а во втором размерность...

Это сообщение отредактировал(а) Partizan - 12.2.2006, 12:33


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Sabretooz
Дата 12.2.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.1.2006

Репутация: нет
Всего: нет



Ну а если у меня размерность сама по себе передается из переменной? Вот у меня она называется SIZE. И как я должен писать? void название функции (int Mas[][SIZE]... так чтоли? объясни, если не трудно. А то я немного запутался...
PM MAIL   Вверх
Partizan
Дата 12.2.2006, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



Вот рабочий пример....
Код

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void InitMas(int Mas[][10],int size) //inicializacija massiva
{
    int i,j;
    for(i=0;i<size;i++)
    {
        for(j=0;j<size;j++)
            Mas[i][j]=rand()%6;
    }
}
void PrintMas(int Mas[][10],int size) //vyvod massiva na e'kran
{
    int i,j;
    for(i=0;i<size;i++)
    {
        for(j=0;j<size;j++)
            printf("%d",Mas[i][j]);
        printf("\n");
    }
}
void main()
{
    srand(time(0));
    const int SIZE=10;
    int Mas[SIZE][SIZE];
    InitMas(Mas,SIZE);
    PrintMas(Mas,SIZE);
}


Можно размер задефайнить...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Sabretooz
Дата 14.2.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.1.2006

Репутация: нет
Всего: нет



Спасибо тебе...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.