18 / 2 / 1
Регистрация: 31.08.2011
Сообщений: 132
1

C++.Передача и приём массива функцией.

22.09.2011, 16:09. Показов 1428. Ответов 3
Метки нет (Все метки)

Здравствуйте.Функция board инициализирует двумерный массив и передаёт его в функцию main.Компилируется без ошибок,но при запуске программа вылетает - тобишь она не работает.В чём проблема?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
using namespace std;
char int_board();
 
void main(char board[3][3])
{
    int_board();
    cout<<board[2][0]<<board[1][0]<<board[0][0]<<endl;
    cout<<board[2][1]<<board[1][1]<<board[0][1]<<endl;
    cout<<board[2][2]<<board[1][2]<<board[0][2]<<endl;
}
 
char int_board()
{
char board[3][3]={
    {'1','2','3'},
    {'4',5','6'},
    {'7','8','9'}};
    return board[3][3];
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2011, 16:09
Ответы с готовыми решениями:

Передача массива символов в функцию strlen после создания его функцией sprintf
Если вводится 1 символ, выводится &quot;8&quot;, 2 символа - &quot;9&quot;. И так далее. Почему? Это нормально?...

ИК прием передача
Здравствуйте. Мне нужно сделать ИК приемо-передатчики. Возможно ли подключение ИК диода и ТСОП...

Передача звука, приём
Доброго времени суток. Вот задумал создать, что то на подобии голосового чата, но вот нет навыков...

Приём и передача структуры
Правильно ли я принемаю и передаю структуры ? //приём recvfrom(sServerListen,(char*)&amp;sync,...

3
6242 / 3543 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
22.09.2011, 17:47 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
 
using namespace std;
 
char** int_board();
 
int main()
{
        char** board = int_board();
        cout<<board[0][0]<<board[0][1]<<board[0][2]<<endl;
        cout<<board[1][0]<<board[1][1]<<board[1][2]<<endl;
        cout<<board[2][0]<<board[2][1]<<board[2][2]<<endl;
        for(int i = 0; i < 3; i++)
            delete [] board[i];
        delete [] board;
        system("pause");
        return 0;
}
 
char** int_board()
{
    char ** board = new char*[3];
    char count = '1';
    for(int i = 0; i < 3; i++)
    {
        board[i] = new char[3];
        for(int j = 0; j < 3; j++, count++)
            board[i][j] = count;
    }
    return board;
}
1
18 / 2 / 1
Регистрация: 31.08.2011
Сообщений: 132
22.09.2011, 18:19  [ТС] 3
А можно пояснения?Например что означает char**?Ссылка на массив???
0
65 / 18 / 3
Регистрация: 09.10.2010
Сообщений: 97
22.09.2011, 19:51 4
Цитата Сообщение от MaxxximyM Посмотреть сообщение
А можно пояснения?Например что означает char**?Ссылка на массив???
Двойной указатель здесь:
C++
1
char** int_board();
указатель на функцию, чтобы по её выполнении вернуть массив;
C++
1
char** board = int_board();
Используется для захвата динамической памяти под двумерный массив и его дальнейшей инициализации по средством вышеупомянутой функции.

Не по теме:

Чего-то много лишнего нагородили. Был такой "нубо-код" понятный... Вдруг парню за это втык дадут ;)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2011, 19:51

SPI: прием и передача
Добрый день. Осваиваю SPI на контроллере Atmega168 (slave). master устройство - Raspberry pi. Прием...

QUdpSoket передача и прием
Реализован обмен сообщения по udp. Такая проблема, при запуске на двух компьютера с ос windows все...

Attiny 13 прием и передача ик сигнала
Здравствуйте форумчане,объясните пожалуйста не опытному , как принять ик сигнал ,то есть с тиньки...

ZeroMQ: передача и прием файла
Засел поизучать преимущества ZeroMQ. Пока вот разобрался только с посылом и приемом сообщений, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.