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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2012, 18:56   #1
skauzer_blr
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 17
По умолчанию массивы. язык СИ.

Задана целочисленная квадратная матрица порядка 4. Из этой матрицы выбрать столбец, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них. Далее в данном столбце найти наименьшее из значений его элементов.

я нашел столбец, который обладает наибольшей суммой.как выбрать первый столбец, если таких несколько? как найти наименьшее значение в нем?
вот код:
Код:
#include <stdio.h>
#include <math.h>
const int a[4][4]={{1,2,3,4},{4,7,3,8},{9,-3,5,8},{0,-2,5,6}};
void main ()
{
	int k=0;
	for(int j=0;j<4;j++)
	{
		int s=0;
	for(int i=0;i<4;i++)
		s=abs(a[i][j])+s;
	if (s>k)
		k=s;
	}
	
printf("k = %d\n",k);    
	}

Последний раз редактировалось Stilet; 09.04.2012 в 19:58.
skauzer_blr вне форума Ответить с цитированием
Старый 09.04.2012, 19:32   #2
zaural
Пользователь
 
Аватар для zaural
 
Регистрация: 16.02.2012
Сообщений: 15
По умолчанию

Так не пойдет.
Код:
int k=0,n,L=0;
	for(int j=0;j<4;j++)
	{
		int s=0;
		for(int i=0;i<4;i++)
		{
			s=s+abs(a[i][j]);
		}
		if (s>k)
		{
			k=s;
			n=j;
		}
	}
	for(int g=0;g<4;g++)
	{
		if(L>a[g][n] || L==0)
		{
			L=a[g][n];
		}
	}
	printf("k = %d\n",k);
	cout<<"stolb="<<n<<"\n";
	cout<<"min element="<<L<<"\n";
zaural вне форума Ответить с цитированием
Старый 09.04.2012, 22:51   #3
skauzer_blr
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 17
По умолчанию

if(L>a[g][n] || L==0)
{
L=a[g][n];
}
}
printf("k = %d\n",k);
cout<<"stolb="<<n<<"\n";
cout<<"min element="<<L<<"\n";

а на простом СИ как это записать?
skauzer_blr вне форума Ответить с цитированием
Старый 09.04.2012, 23:31   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

В обычном СИ не сработает только:
Код:
printf("k = %d\n",k);
	cout<<"stolb="<<n<<"\n";
	cout<<"min element="<<L<<"\n";
Замените на:
Код:
printf("k = %d\nstolb = %d\nmin element= %d\n",k,n,L);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 10.04.2012, 21:12   #5
skauzer_blr
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 17
По умолчанию

if(L>a[g][n] || L==0) || L==0 что это значит?
skauzer_blr вне форума Ответить с цитированием
Старый 10.04.2012, 21:16   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

if(L>a[g][n] || L==0)
Если (L больше а[g][n] или L равно 0)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 10.04.2012, 21:47   #7
skauzer_blr
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 17
По умолчанию

спасибо. и еще вопрос. как найти минимальный элемент в найденном столбце?
skauzer_blr вне форума Ответить с цитированием
Старый 10.04.2012, 21:53   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

В принципе, zaural в своем коде ищет минимальный, но, на мой взгляд, лучше искать минимальный, чуть по-другому инициализируя L.
Код:
L=a[0][n];
for(int g=1;g<4;g++)
	if(L>a[g][n])
		L=a[g][n];
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 10.04.2012, 22:15   #9
skauzer_blr
Пользователь
 
Регистрация: 09.04.2012
Сообщений: 17
По умолчанию

спасибо большое) очень помогли)
skauzer_blr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
язык программирования С++ массивы denis lazarev Помощь студентам 2 06.05.2011 19:16
Массивы. Сортировка. Язык Си. PPPPPP Помощь студентам 2 04.04.2010 00:30
Массивы, язык - C. xcyber Помощь студентам 9 19.10.2009 21:38
Массивы (язык С++) Ноберт Помощь студентам 3 24.08.2009 23:10
массивы(язык Си) bars1984 Помощь студентам 14 11.05.2009 21:15