Форум программистов, компьютерный форум CyberForum.ru

Умножение строки на столбец. - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ReDev1L
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 19
21.10.2008, 01:52     Умножение строки на столбец. #1
Задача:
Умножение строки с минимальным элементом матрицы на столбец с максимальным элементом.
Код
void EnterString (int a[10][10], int x, int y)
{
	int i,j;
	for (i = 0; i < x; i++)
	{
		printf("Enter %d string\n", i + 1);
		for (j = 0; j < y; j++)
			scanf("%d", &a[i][j]);
	}
}
[COLOR="Red"]int CountArrays (int a, int b, int x, int y, int i, int j, int sum)
{
	int c[10];
	c[j] = 0;
	c[i] = a * b;
	sum = sum + c[j];
	return sum;
}[/COLOR]
void main()
{
	int i,j,x,y;
	int sum = 0;
	int ar[10][10];
	int minString = 0;
	int maxColumn = 0;
	printf("Enter number of stings and col's, 2 3 etc is array with 2 strings and 3 col's\n");
	scanf("%d %d", &x, &y);
	EnterString (ar, x, y);
	int min = ar[0][1];
	int max = ar[0][1];
	printf("Array before operation:\n");
	for (i = 0; i < x; i++)
	{
		printf("\n");
		for (j = 0; j < y; j++)
			printf("%d ", ar[i][j]);
	}
	printf("\n");
	printf("\n");
	for (i = 0; i < x; i++)
	{
		for (j = 0; j < y; j++)
		{
			if (ar[i][j] < min)
			{
				minString = i;
				min = ar[i][j];
			}
		}
	}
	for (j = 0; j < y; j++)
	{
		for (i = 0; i < x; i++)
		{
			if (ar[i][j] > max)
			{
				maxColumn = j;
				max = ar[i][j];
			}
		}
	}
	for (i = 0; i < x; i++)
	{
		for (j = 0; j < y; j++)
		{
			CountArrays (ar[minString][j], ar[i][maxColumn], x, y, i, j, sum);
		}
	}
[COLOR="Blue"]	/*int ar1[10];
	for (i = 0; i < x; i++)
	{
		for (j = 0; j < y; j++)
		{
			ar1[j] = 0;
			ar1[i] = ar[minString][j] * ar[i][maxColumn];
			sum = sum + ar1[j];
		}
	}*/[/COLOR]
	printf("%d\n", sum);
	getch();
}
только вот сумма всегда выходит 0, как исправить? без функции работает.

Добавлено через 55 минут 46 секунд
мна спать, ночные прогеры исправте мою ошибку в ф-и пожалуйста)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2008, 01:52     Умножение строки на столбец.
Посмотрите здесь:

замена строки на столбец в двумерном массиве C++
Найти скалярное произведение матрицы строки на столбец C++
Умножение матриц делением на полосы (строки или столбцы) — ленточная схема C++
Умножение матрицы на вектор-столбец C++
Меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец C++
C++ Умножение чисел из строки делимых на 3,4,5
Строки char: умножение двух чисел C++
C++ Умножение чисел из строки
Скалярное произведение строки с наибольшим количеством неотрицательных элементов на i-ый столбец C++
C++ Меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец
C++ Умножение матрицы на вектор-столбец - C++
C++ Замена строки на столбец в матрице

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
21.10.2008, 08:55     Умножение строки на столбец. #2
Ваш вызов :
Код
CountArrays(ar[minString][j],ar[i][maxColumn,x,y,i,j,sum);
Естественно,работать не будет,поскольку параметры переданы по значению,а не по адресу.С другой стороны,ваша функция возвращает значение...С третьей стороны,странная какая-то функция...
ReDev1L
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 19
21.10.2008, 14:49  [ТС]     Умножение строки на столбец. #3
если ставлю указатель, то компилятор ругается.
а без функции всё норм.только препод требует через фу-ю
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
21.10.2008, 14:52     Умножение строки на столбец. #4
Правильно требует. Просто поставить указатель(удивительно!!) - недостаточно. Нужно чуток код поменять.
ReDev1L
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 19
21.10.2008, 15:08  [ТС]     Умножение строки на столбец. #5
подскажите как?
Знаю что правильно, мне и самому интересно, клёвая штука эта, программирование.
Но как я понял это всё цветочги.
Yandex
Объявления
21.10.2008, 15:08     Умножение строки на столбец.
Ответ Создать тему
Опции темы

Текущее время: 15:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru