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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2014, 03:27   #1
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию Не компилится?

Код:
#include <iostream>
#include <conio.h>
#include <time.h>
#define n 10
#define m 10

void column_to_zero(int,int,int);

int main(void)
{
	int arr[n][m];
	int size_string;
	int size_column;
	
	srand(time(NULL));

	std::cout<<"Enter the matrix size"<<std::endl;
	std::cin>>size_string>>size_column;

	for(int i=0;i<size_string;i++)
	{
		for(int j=0;j<size_column;j++)
			arr[i][j]=rand()%100;
	}

	column_to_zero(arr[n][m], size_string, size_column);

	for(int i=0;i<size_string;i++)
	{
		for(int j=0;j<size_column;j++)
			std::cout<<arr[i][j]<<' ';
			std::cout<<std::endl;
	}

	getch();

}

void column_to_zero(int **arr, int size_string, int size_column)
{
	for(int i=0;i<size_string;i++)
	{
		for(int j=0;j<size_column;j++)
		{
			if(j % 2 != 0)
				arr[i][j]=0;
		}
	}
}
Не компилится. Не так вызываю функцию в mainе. Компилятор ругается иероглифами)
Praud вне форума Ответить с цитированием
Старый 11.01.2014, 03:39   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Вижу 2 ошибки:
1. Прототип функции не совпадает с заголовком. Определитесь все-таки с типом 1 -ого фактического параметра.
2. Пытаетесь привести переменную типа int к указателю на указатель типа int (опираемся на заголовок функции).
Код:
column_to_zero(arr[n][m], size_string, size_column);

Последний раз редактировалось Базиля; 11.01.2014 в 03:41.
Базиля вне форума Ответить с цитированием
Старый 11.01.2014, 03:46   #3
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
Вижу 2 ошибки:
1. Прототип функции не совпадает с заголовком. Определитесь все-таки с типом 1 -ого фактического параметра.
2. Пытаетесь привести переменную типа int к указателю на указатель типа int (опираемся на заголовок функции).
Код:
column_to_zero(arr[n][m], size_string, size_column);
У меня целочисленный массив. Соответственно я пишу в прототипе int, и в заголовке arr. Я чего-то явно не понимаю
Ведь все 3 значения - целочисленные.
Praud вне форума Ответить с цитированием
Старый 11.01.2014, 03:49   #4
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Цитата:
Сообщение от Praud Посмотреть сообщение
У меня целочисленный массив. Соответственно я пишу в прототипе int, и в заголовке arr. Я чего-то явно не понимаю
То что массив целочисленный это хорошо.
Но в прототипе у Вас 1-ый фактический параметр типа int, а в заголовке Вы уже хотите принимать указатель на указатель типа int.
Отсюда копайте
Базиля вне форума Ответить с цитированием
Старый 11.01.2014, 03:55   #5
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Код:
void column_to_zero(int,int,int);
column_to_zero(arr[n][m], size_string, size_column);
void column_to_zero(int arr[n][m], int size_string, int size_column)
Вот! 3 целочисленных типа! Никаких ссылок, а оно ругается то
Praud вне форума Ответить с цитированием
Старый 11.01.2014, 03:59   #6
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Прототип что ли надо поменять?
Praud вне форума Ответить с цитированием
Старый 11.01.2014, 04:07   #7
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Хорошо, с типом разобрались, только теперь уже Вы собираетесь принимать фиксированную матрицу размером 10 на 10.
А подсунуть в этот параметр пытаетесь один из элементов матрицы.

Не стоит гадать, возьмите книгу да почитайте. Начиная с первых глав до матриц. Много времени не потеряете.
Ибо воровать, и при этом даже не иметь понятия о том, что именно воруете, смысла ну никакого нет!
Объяснять я дальше не вижу смысла, все равно не понимаете о чем речь идет

Последний раз редактировалось Базиля; 11.01.2014 в 04:10.
Базиля вне форума Ответить с цитированием
Старый 11.01.2014, 04:34   #8
Praud
Форумчанин
 
Аватар для Praud
 
Регистрация: 11.10.2012
Сообщений: 409
По умолчанию

Что воровать простите? Код мой. Я просто до сих пор не разобрался, как передавать переменные.
Praud вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не компилится исходник Rayzor Общие вопросы C/C++ 4 19.05.2012 18:03
MSVC++ 2010 не компилится проект Voxa7 Помощь студентам 9 20.09.2011 10:50
программа не компилится KOLANICH Общие вопросы C/C++ 3 25.01.2011 09:52
Не компилится =( С++ Soledan Помощь студентам 0 08.01.2010 20:57
Не компилится проект на студии 2005 prikolist Общие вопросы C/C++ 31 15.06.2009 19:18