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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2012, 12:23   #1
coolplayer
 
Регистрация: 06.10.2010
Сообщений: 6
По умолчанию Задача с матрицей

Дана матрица 3х3. Нужно найти подмножество эл-ов матрицы, для которого:
1) в каждом столбе матрицы находится не более одного выбранного элемента
2) сумма выбранных эл-ов является наибольшей из возможных.
Решение должно удовлетворять обоим условиям.

Я написал это:
Код:
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[3][3];
    int i,j,n=0,S=0;
    int k=5;
    int b[3][3];
    
    for(i=1;i<=3;i++)
    {
                     for(j=1;j<=3;j++)
                     {
                                      cin>>a[i][j];
                                      }
                     }
                     
                     cout<<endl;
                     for(i=1;i<=3;i++)
    {
                     for(j=1;j<=3;j++)
                     {
                                      cout<<a[i][j]<<" ";
                                      }
                                      cout<<endl;
                     }
                     
                     
                   for(j=1;j<=3;j++)
                     {  
                                    n=0;
                                    for(i=1;i<=3;i++)
    {
                                    if(a[i][j]==k) {n++;}
                                    }
                                    
                                                for(i=1;i<=3;i++)
    {
                                    if(n>1) {b[i][j]=0;} else {b[i][j]=a[i][j];}
                                    }
                                    
                                    }
                                    cout<<endl;
                                    
                                     for(i=1;i<=3;i++)
    {
                     for(j=1;j<=3;j++)
                     {S=S+b[i][j];
                                      cout<<b[i][j]<<" ";
                                      }
                                      cout<<endl;
                     }
                     cout<<"Summa = "<<S<<endl;
                     
    system("PAUSE");
    return EXIT_SUCCESS;
}
Не уверен, что все правильно по условию. Просьба поправить, если нужно.
coolplayer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с матрицей amsterdam Паскаль, Turbo Pascal, PascalABC.NET 5 09.06.2011 09:49
Задача с матрицей fightclub Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 15.01.2010 10:31
Задача с матрицей bonys91 Помощь студентам 1 02.04.2009 20:02
Задача с матрицей Kawun Помощь студентам 9 26.03.2009 00:29
Задача с матрицей H[o][o]K Помощь студентам 1 15.12.2007 16:51