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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2019, 18:32   #1
GOPROMO
Новичок
Джуниор
 
Регистрация: 23.02.2019
Сообщений: 5
Восклицание [C++] сделать программу, которая будет определять суму минимальных значений по всех рядах матрицы. Я сделал код, но в итоге у меня вместо значений выводятся какие-то цифры и буквы

У меня есть задача сделать программу, которая будет определять суму минимальных значений по всех рядах матрицы. Я сделал код, но увы в итоге у меня вместо значений выводятся какие-то цифры и буквы. Помогите ,пожалуйста, кто в этом разбирается.

Код:
#include <iostream> 
#include <iomanip> 
#include <time.h> 

using namespace std;

void Create(int** A, const int rowCount, const int colCount, const int Low, const int High);
void Print(int** A, const int rowCount, const int colCount);
void Min(int** A, const int rowCount, const int colCount, int& min);
void SumMin(int** a, const int rowCount, const int colCount, int& S);

int main()
{
	srand((unsigned)time(NULL));

	int Low = -20;
	int High = 20;

	int rowCount = 7;
	int colCount = 6;

	int **A = new int*[rowCount];
	for (int i = 0; i < rowCount; i++)
		A[i] = new int[colCount];

	Create(A, rowCount, colCount, Low, High);
	Print(A, rowCount, colCount);
	cout << "minimal = " << Min  << endl;
	cout << "symma = " << SumMin << endl;

	for (int i = 0; i < rowCount; i++)
		delete[] A[i];
	delete[] A;

	system("pause");

	return 0;
}

void Create(int** A, const int rowCount, const int colCount, const int Low,
	const int High)
{
	for (int i = 0; i < rowCount; i++)
		for (int j = 0; j < colCount; j++)
			A[i][j] = Low + rand() % (High - Low + 1);
}

void Print(int** A, const int rowCount, const int colCount)
{
	cout << endl;
	for (int i = 0; i < rowCount; i++)
	{
		for (int j = 0; j < colCount; j++)
			cout << setw(4) << A[i][j];
		cout << endl;
	}
	cout << endl;
}

void Min(int** A, const int rowCount, const int colCount, int& min)
{
	min = A[0][0];
	for (int i = 0; i < rowCount; i++)
	for (int j = 0; j < colCount; j++)
			if (A[i][j] < min)
				min = A[i][j];
}

void SumMin(int** a, const int rowCount, const int colCount, int& S)
{
	S = 0;
	for (int i = 0; i < rowCount; i++)
		SumMin(a, i, colCount, S);
}
Изображения
Тип файла: jpg фотография.jpg (65.6 Кб, 156 просмотров)
GOPROMO вне форума Ответить с цитированием
Старый 23.02.2019, 18:42   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Ну так вы выводите адреса функций. Чего вы ожидали, кроме адресов? Да и вообще, у вас эти функции ничего не возвращают...
p51x вне форума Ответить с цитированием
Старый 23.02.2019, 18:44   #3
GOPROMO
Новичок
Джуниор
 
Регистрация: 23.02.2019
Сообщений: 5
По умолчанию

а как сделать, чтобы возвращали, подскажите пожалуйста, если не сложно, а то мне очень надо на понедельник?
GOPROMO вне форума Ответить с цитированием
Старый 23.02.2019, 19:54   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

Как обычно: объявить тип, который они возвращают и использовать return.
p51x вне форума Ответить с цитированием
Старый 23.02.2019, 20:08   #5
GOPROMO
Новичок
Джуниор
 
Регистрация: 23.02.2019
Сообщений: 5
По умолчанию [C++] Нужна помощь.

Ребята мне нужно решить одно задание. У меня стоит задание создать матрицу и сначала написать функцию, которая будет искать минимальное значение в каждом рядке матрицы, а второе надо написать функцию, которая будет суммировать все минимальные значения описанные в предыдущей функции. Я написал код, но у меня высчитывается минимальное значение элементов всей матрицы, а суммируются все элементы матрицы. По простому, вот у меня есть матрица и мне программа должна вычислить минимальный элемент в 1 рядке, в 2 рядке и т. д. , а потом чтобы суммировала все эти значения. Подскажите, как мне сделать, чтобы у меня высчитывались минимальные значения элементов в каждом рядке а потом суммировались эти значения. (Или может как-то можно это всё в 1 функцию сложить). Подскажите ,пожалуйста, мне очень надо на понедельник это сделать, а додуматься я никак не могу.
Код:
#include <iostream> 
#include <iomanip> 
#include <time.h> 

using namespace std;

void Create(int** A, const int rowCount, const int colCount, const int Low, const int High);
void Print(int** A, const int rowCount, const int colCount);
int Min(int** A, const int rowCount, const int colCount);
int SumMin(int** A, const int rowCount, const int colCount);

int main()
{
	srand((unsigned)time(NULL));

	int Low = -20;
	int High = 20;

	int rowCount = 7;
	int colCount = 6;

	int **A = new int*[rowCount];
	for (int i = 0; i < rowCount; i++)
		A[i] = new int[colCount];

	Create(A, rowCount, colCount, Low, High);
	Print(A, rowCount, colCount);
	cout << "minimal = " << Min(A, rowCount, colCount) << endl;
	cout << "symma = " << SumMin(A, rowCount, colCount) << endl;

	for (int i = 0; i < rowCount; i++)
		delete[] A[i];
	delete[] A;

	system("pause");

	return 0;
}

void Create(int** A, const int rowCount, const int colCount, const int Low,
	const int High)
{
	for (int i = 0; i < rowCount; i++)
		for (int j = 0; j < colCount; j++)
			A[i][j] = Low + rand() % (High - Low + 1);
}

void Print(int** A, const int rowCount, const int colCount)
{
	cout << endl;
	for (int i = 0; i < rowCount; i++)
	{
		for (int j = 0; j < colCount; j++)
			cout << setw(4) << A[i][j];
		cout << endl;
	}
	cout << endl;
}

void Input(int** A, const int rowCount, const int colCount)
{
	for (int i = 0; i < rowCount; i++)
	{
		for (int j = 0; j < colCount; j++)
		{
			cout << "A[" << i << "][" << j << "] = ";
			cin >> A[i][j];
		}
		cout << endl;
	}
}

int Min(int** A, const int rowCount, const int colCount)
{
	int min = A[0][0];
	for (int i = 0; i < rowCount; i++)
		for (int j = 0; j < colCount; j++)
			if (A[i][j] < min)
				min = A[i][j];
	return min;
}

int SumMin(int** A, const int rowCount, const int colCount)
{
	int S = 0;
	for (int i = 0; i < rowCount; i++)
		for (int j = 0; j < colCount; j++)
			S += A[i][j];
	return S;
}
Изображения
Тип файла: jpg фотография.jpg (82.1 Кб, 159 просмотров)
GOPROMO вне форума Ответить с цитированием
Старый 23.02.2019, 21:11   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,722
По умолчанию

Ну для начала надо с терминами разобраться. Рядки - это на кукурузном поле, а в матрице - строки и столбцы (или rows, columns по забугорному.) Так что по чем искать - ХЗ.
А в четвертый раз в течение пару часов запулить один и тот же вопрос - слабо ? По клаве барабанить - это же не книжку открыть, там думалку включать надо.






.

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята нужна помощь, надо написать программу, которая будет находить сумму минимальных элементов по всех рядах матрицы GOPROMO Помощь студентам 2 23.02.2019 17:53
как и в чём написать программу .exe которая будет при вводе двух значений в двух разных полях ввода сравнить с библиотекой Александр Куба Помощь студентам 13 12.02.2016 11:00
написать функцию, которая по элементу массива будет определять его номер. vereney Паскаль, Turbo Pascal, PascalABC.NET 11 07.03.2011 14:22
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. Паскалька^^ Помощь студентам 5 19.10.2010 00:55
написать программу,которая будет определять,и выводить на экран английскую букву Tiny Помощь студентам 3 25.06.2010 23:23