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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2013, 18:30   #1
Foxlin
Пользователь
 
Регистрация: 05.12.2013
Сообщений: 16
По умолчанию В квадратной матрице A [ N ][ N ] определить номер столбца матрицы, имеющего наибольшую сумму элементов. Поменять этот столбец со

Помогите написать программу С++:
В квадратной матрице A [ N ][ N ] определить номер столбца матрицы, имеющего наибольшую сумму элементов. Поменять этот столбец со строкой, имеющей наименьшую сумму элементов.
Я матрицу саму сделал...а как дальше не знаю...
Код:
#include <conio.h>
#include <clocale>
#include <iostream>

using namespace std;
 
int main ()
{
	setlocale (LC_ALL,"");
	int const N = 100;
	int n,e=0;
		
	printf ("Введите размер матрицы: ");
	scanf ("%d", &n);
	cout << endl;

	int a[N][N];
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++)		
		{
			printf("Введите элемент %d: ", e += 1);
			scanf ("%d", &a[i][j]);
		}
	
	cout << endl << "Введённая матрица:" << endl << endl;

	for (int i=0; i<n; i++)
	{
		for (int j=0; j<n; j++)
			printf ("%2d ", a[i][j]);
		cout << endl;
	}
	cout << endl;
	
	getch (); 
        return 0;
}

Последний раз редактировалось Stilet; 05.12.2013 в 20:52.
Foxlin вне форума Ответить с цитированием
Старый 05.12.2013, 23:10   #2
Foxlin
Пользователь
 
Регистрация: 05.12.2013
Сообщений: 16
По умолчанию

Сделал...вот если кому понадобится!
Код:
#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <iostream>

using namespace std;
 
int main ()
{
	setlocale (LC_ALL,"");
    const int
        N1 = 10,
        M1 = 10,
        N2 = 10;
    int a[N1][M1],i,j,n,m;
    int b[N2];
    
    printf ("Введите размер: ");
    scanf ("%d%d",&n,&m);
    
    printf ("Введите эллименты:\n");
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            scanf ("%d",&a[i][j]);

	printf("\nВывод матрицы: \n");
 
    for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
			printf ("%d\t",a[i][j]);
		cout << endl;
	}

	int sum1=0,sum2=0,maxsum=0,minsum=0,i_,j_;
    
    for (j = 0, sum1 = 0, maxsum = 0, j_ = 0; j < m; j++)
    {
        for (i = 0; i < n; i++)
            sum1 += a[i][j];
 
        if (sum1 > maxsum)
        {
            maxsum = sum1;
            j_ = j+1;
        }
        sum1 = 0;
    }
 
    for (j = 0; j<n; j++)
        minsum+=a[0][j];
    
    for (i = 0, sum2 = 0, i_ = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            sum2 += a[i][j];
 
        if (sum2 <= minsum)
        {
            minsum = sum2;
            i_ = i + 1;
        }
        sum2 = 0;
    }
 
    printf ("\n\nСтрока = %d\nСтолбец = %d",i_,j_);
 
    
    for (j = 0; j < n; j++)
        b[j] = a[(i_)-1][j];
 
    for (j = 0, i = 0; j < n, i < n; j++, i++)  
        a[(i_) - 1][j]=a[i][(j_) - 1];
 
    for (j = 0, i = 0; j < n, i < n; j++, i++)
        a[i][(j_)-1]=b[j];
 
    printf("\n\nИзмененная матрица: \n");
 
    for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
			printf ("%d\t",a[i][j]);
		cout << endl;
	}
 
    getch ();
 
    return 0;
}
Foxlin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять местами K-ю строку и K-й столбец квадратной матрицы VoltZZZ Паскаль, Turbo Pascal, PascalABC.NET 2 14.03.2012 14:50
В квадратной матрице найти сумму элементов главной и побочной диагонали, среднее, min и max (Pascal) Brusik Помощь студентам 0 09.07.2011 17:01
В квадратной матрице необходимо определить количество строк состоящих из равных элементов poison777 Помощь студентам 3 15.03.2011 18:41
Массив.номер столбца имеющего наибольшую сумму элементов. luvky13 Паскаль, Turbo Pascal, PascalABC.NET 2 10.01.2011 11:52