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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ReDev1L
0 / 0 / 0
Регистрация: 18.10.2008
Сообщений: 19
#1

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

21.10.2008, 01:52. Просмотров 1129. Ответов 4
Метки нет (Все метки)

Задача:
Умножение строки с минимальным элементом матрицы на столбец с максимальным элементом.
Код
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++
Доброго времени суток, вы можете мне подсказать в чем проблема, выдает ошибку E2060 Illegal use of floating point, что за ошибка я не знаю,...

Умножение матрицы на вектор-столбец - C++
День добрый (кому-как) Помогите, а? всю бОшку сломал, выдает Illegal Use of Floating Point не могу найти косяк. #pragma hdrstop ...

Умножение чисел из строки - C++
Во входном файле in.txt задано целое число в диапазоне от 1 до 1050 и цифра от 2 до 9, например: 63820781937294274912342381 3 ...

Умножение чисел из строки делимых на 3,4,5 - C++
Пользователь вводит ряд положительных чисел, числа делимые на 3,4,5 нужно перемножить и распечатать. Например { 12 , 3 , 14 , 10 , 19 } ...

Строки char: умножение двух чисел - C++
нужно было создать функцию, умножающую два числа (до 30 цифр включительно). эти числа - два char массива. есть один момент, с которым...

Умножение матриц делением на полосы (строки или столбцы) — ленточная схема - C++
Нужна помощь в разборе алгоритма, до меня никак не доходит по какой схеме этот алгоритм работает. ...

Замена строки на столбец в матрице - C++
Разработать программу, которая в матрице размерности nxn меняет местами строку, содержащую элемент с минимальным значением со столбцом,...

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

Найти скалярное произведение матрицы строки на столбец - C++
Дана матрица А размерности (n*n).Найти скалярное произведение строки ,в котором находится минимальный элемент матрицы на столбец с...

Меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец - C++
Вот листинг, написал но что то тут не так, подскажите что нужно поменять? #include &lt;iostream.h&gt; #include &lt;conio.h&gt; int main() ...

Меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец - C++
Помогите написать програмку в С++. Задание: &quot;Меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец&quot;.

Скалярное произведение строки с наибольшим количеством неотрицательных элементов на i-ый столбец - C++
Здравствуйте. Просьба помочь с заданием. Дана матрица размером nxn. Высчитать скалярное произведение строки с наибольшим количеством...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
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
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
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     Умножение строки на столбец.
Ответ Создать тему
Опции темы

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