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

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

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

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

Купить рекламу на форуме - 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,709
По умолчанию

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

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

Как обычно: объявить тип, который они возвращают и использовать 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,550
По умолчанию

Ну для начала надо с терминами разобраться. Рядки - это на кукурузном поле, а в матрице - строки и столбцы (или 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