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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 12:35   #1
angelangel
Новичок
Джуниор
 
Регистрация: 22.12.2008
Сообщений: 1
По умолчанию Двумерные массивы

Доброе время суток, помогите пожалуста решить задачу по С++, блин первый курс нада сдать завтра, чтобы к сесии допуск дали, выручити пожалуста.
"Дан вещественный массив А[N][М]. Определить индекс столбца с максимальной суммой элементов. Переставить элементы этого столбца в обратном порядке."
буду очень благодарен
angelangel вне форума
Старый 22.12.2008, 13:47   #2
ActioNs
Пользователь
 
Регистрация: 17.07.2008
Сообщений: 38
По умолчанию

пожалуйста)

Код:
#include <conio.h>
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <time.h>

using namespace std;

#define N 4
#define M 6

int main()
{
	int ** A;

	// Инициализация
	A = new int*[N];
	for( int i=0; i<N; i++ )
		A[i] = new int[M];

	// заполняем случайными значениями
	srand( (unsigned)time(NULL) );
	for( int i=0; i<N; i++ )
		for( int j=0; j<M; j++ )
		{
			// (rand()%(b-a+1)+a), a - нижняя граница, b - верхняя 
			A[i][j] = (rand()%10);
		}

	// Выводим:
	for( int i=0; i<N; i++ )
	{
		for( int j=0; j<M; j++ )
			cout << A[i][j];
		cout << endl;
	}

	// Считаем:
	int max_col = 0;
	int max_col_value = 0;

	for( int i=0; i<M; i++ )
	{
		int sum = 0;
		for( int j=0; j<N; j++ )
			sum += A[j][i];
		
		if( sum > max_col_value )
		{
			max_col_value = sum;
			max_col = i;
		}
	}

	cout << "Max sum column index: " << max_col+1 << ", sum: " << max_col_value << endl;
	cout << "Swap column " << max_col+1 << endl;

	// Переставляем элементы
	int newA[N];
	for( int i=0; i<N; i++ )
		newA[i] = A[N-i-1][max_col];

	for( int i=0; i<N; i++ )
		A[i][max_col] = newA[i];

	// Выводим:
	for( int i=0; i<N; i++ )
	{
		for( int j=0; j<M; j++ )
			cout << A[i][j];
		cout << endl;
	}

	getch();
}
ActioNs вне форума
Старый 22.12.2008, 15:47   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Читаем обьявление вверху раздела.

ПыСы: Закрыто.
MaTBeu вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные массивы в Си. necky Помощь студентам 2 17.05.2009 19:35
Массивы двумерные Nika_D Помощь студентам 3 19.01.2008 23:45
Двумерные массивы Nata!!!@ Помощь студентам 15 05.12.2007 16:15