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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2022, 18:51   #1
omioran
Новичок
Джуниор
 
Регистрация: 25.05.2022
Сообщений: 1
По умолчанию Исправление ошибок в C++

Здравствуйте, прохожу курс по C++, дали задачку на исправление ошибок, исправил все, но не выдает матрицы: исходную и конечную. Помогите разобраться пожалуйста

Код:
#include <iostream> 
using namespace std;

int** func1(int NumberofLines, int NumberofColumns);
//Выделение памяти
void func2(int** pointer, int NumberofLines, int NumberofColumns);
//Заполнение и вывод на экран
void func3(int** pointer, int NumberofLines, int NumberofColumns);
//меняем местами максимальный и первый элемент в строках
int** func4(int** pointer, int NumberofLines, int NumberofColumns); //Освобождение памяти
int main()
{
	setlocale(LC_ALL, "rus");
	srand(time_t(NULL));
	int** a, n, m;
	cout << "Введите кол - во строк(n): ";
	cin >> n;
	cout << "Введите кол - во столбцов(m): ";
	cin >> m;
		int** а = NULL; а = func1(n, m);
	cout << "Исходная матрица: " << endl; 
	func2(a,n,m);
	cout << "Конечная матрица: ";
	
}
int** func1(int NumberofLines, int NumberofColumns)
{
	int** pointer = new int* [NumberofLines];
	for (int i(0); i < NumberofLines; i++)
	{
		pointer[i] = new int[NumberofColumns];
	}
	return pointer;
}
void func2(int** pointer, int NumberofLines, int NumberofColumns)
{
	for (int i(0); i < NumberofLines; i++)
	{
		for (int j(0); j < NumberofColumns; j++)
		{
			pointer[i][j] = 10 + rand() % 99;
		}
	}
	for (int i(0); i < NumberofLines; i++)
	{
		for (int j(0); j < NumberofColumns; j++)
		{
			cout << pointer[i][j] << " ";
		}
		cout << endl;
	}
}

Последний раз редактировалось BDA; 25.05.2022 в 19:05.
omioran вне форума Ответить с цитированием
Старый 25.05.2022, 19:00   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Не все исправили
Код:
for (int i(0); i < NumberofLines; i++)
1 ошибку пропустили
Код:
for (int i(0); i < NumberofLines; i++)
2 ошибку пропустили
Код:
for (int j(0); j < NumberofColumns; j++)
3 ошибку пропустили
Код:
pointer[i][j] = 10 + rand() % 99;
4 ошибку пропустили
Код:
for (int i(0); i < NumberofLines; i++)
5 ошибку пропустили
Код:
for (int j(0); j < NumberofColumns; j++)
6 ошибку пропустили
macomics вне форума Ответить с цитированием
Старый 25.05.2022, 19:07   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
int** а = NULL; а = func1(n, m);
Похоже тут русская "а". И не нужно еще раз объявлять её:
Код:
a = func1(n, m);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 04.07.2022, 17:50   #4
AlexFirefield
Пользователь
 
Регистрация: 22.06.2022
Сообщений: 11
По умолчанию

а зачем
Код:
int** a, n, m;
n и m здесь это, не указатель на указатель.
можно так int n,m; или другой тип данных
AlexFirefield вне форума Ответить с цитированием
Старый 04.07.2022, 18:10   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

AlexFirefield, а зачем разбивать на несколько строк определение переменных, если n и m и так будут типа int?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.07.2022, 14:11   #6
AlexFirefield
Пользователь
 
Регистрация: 22.06.2022
Сообщений: 11
По умолчанию

int n; - переменная типа int
int* a;- указатель типа int
int** f; -указатель на указатель;
это разные вещи

либо я не правильно понимаю
AlexFirefield вне форума Ответить с цитированием
Старый 06.07.2022, 16:05   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

AlexFirefield, правильно понимаете сами типы, но все эти переменные можно определить в одну строку:
Код:
int **f, *a, n;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправление ошибок валидации thehappyman HTML и CSS 2 09.05.2016 18:27
Исправление ошибок C++/CLI Максим 116 Visual C++ 2 29.12.2013 18:44
Исправление ошибок С# PROkaZZZniK Помощь студентам 5 15.11.2011 17:16
исправление ошибок toldo Microsoft Office Word 2 09.01.2011 15:22
исправление ошибок в коде Viola2208 Помощь студентам 0 12.05.2010 00:01