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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2017, 18:31   #1
Кот Баюн
Пользователь
 
Регистрация: 05.07.2017
Сообщений: 14
По умолчанию Передача двумерного массива в функцию.

Всем привет.Пытаюсь передать массив в функцию и ничего не получается..Не могу врубится как это должно работать. Что вообще порекомендуете почитать по этой теме?Не могу найти ничего толкового.Пересмотрел несколько книжек разных авторов и множество сайтов.
Изображения
Тип файла: jpg Снимок567.jpg (67.2 Кб, 114 просмотров)
Кот Баюн вне форума Ответить с цитированием
Старый 06.07.2017, 19:33   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 734
По умолчанию

Я же уже дал ответ на этот вопрос. Зачем плодить столько тем? Вы читать умеете, что Вам пишут?! Еще раз повторяю код, специально для Вас.
Код:
//---------------------------------------------------------------------------
#include <vcl>
#include <iostream>
#include <conio>
#include <stdio>
#include <cstring>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;

void Masprint(int* Mas, int m, int n)
{
	for(int i = 0; i < m; i++)
        {
		for(int j = 0; j < n; j++)
                {
		    //Для этого способа передачи двухмерного массива в функцию
                    //элемент высчитывается вот так:	
                    cout << *(Mas + i*n + j) << ' ';
                    //Зачем Вы вообще самодеятельность развели?
                    //Можно было просто код скопировать и все!
		}
		cout << endl;
	}
}

void Masprint2(int Mas2[][6], int m)
{
	for(int i = 0; i < m; i++)
        {
		for(int j = 0; j < 6; j++)
                {
			cout << Mas2[i][j] << ' ';
		}
		cout << endl;
	}
}

int main(int argc, char* argv[])
{
int M[3][6] =
{
    {3,7,8,0,1,4},
    {2,9,1,4,7,6},
    {5,2,7,6,1,9}
};
Masprint(&M[0][0], 3, 6);
cout << "\n";
Masprint2(M, 3);

getch();
return 0;
}
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.

Последний раз редактировалось Cuprum5; 06.07.2017 в 19:55.
Cuprum5 на форуме Ответить с цитированием
Старый 06.07.2017, 20:20   #3
Кот Баюн
Пользователь
 
Регистрация: 05.07.2017
Сообщений: 14
По умолчанию

Про задачу ладно

Последний раз редактировалось Кот Баюн; 06.07.2017 в 20:24.
Кот Баюн вне форума Ответить с цитированием
Старый 06.07.2017, 20:24   #4
Кот Баюн
Пользователь
 
Регистрация: 05.07.2017
Сообщений: 14
По умолчанию

Я не сильно что-то понял.Спрашивать как-то не удобно.Прошу поэтому порекомендовать почитать литературы по этому поводу.
Кот Баюн вне форума Ответить с цитированием
Старый 06.07.2017, 21:51   #5
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Двумерный массив int - это указатель на массив указателей на int
Код:
void Masprint(int** Mas, int m, int n)


....
//если использовать синтаксис [][], то знак * уже не нужен (и какой магией у вас на скрине i/j стали k/t ???
cout <<Mas[i][j]<< ' ';
Имя массива, есть указатель на его первый элемент:
Код:
Masprint(M, 3, 6);
Второе видимо как-то так по аналогии - не вникал.

Последний раз редактировалось alexzk; 06.07.2017 в 21:53.
alexzk вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача двумерного массива в функцию Animaria Общие вопросы C/C++ 5 17.09.2014 01:50
Передача двумерного массива в функцию Negent Общие вопросы C/C++ 4 24.06.2014 00:46
Передача двумерного массива в функцию СИ orandzheviyman Общие вопросы C/C++ 3 07.05.2014 11:03
Передача двумерного массива в функцию FelixXXI Общие вопросы C/C++ 3 27.08.2011 18:08
Передача двумерного массива в функцию StudentPolitech Общие вопросы .NET 9 30.10.2010 22:20