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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 19:41   #1
XAPOH
Пользователь
 
Аватар для XAPOH
 
Регистрация: 23.10.2010
Сообщений: 15
По умолчанию матрица

всем привет.лаба вот с таким заданием :
Дана целочисленная матрица.Определить номер строки с min суммой элементов в строке.
вот матрица которую я сделал.проблема в том что я незнаю куда и что надо вписать что бы определялась строчка с min суммой элементов.
подсажите пожалуйста.заранее спасибо !

Код:
#include <iostream.h>
void main()
{ int matr[3][3];
  int s;
  for(int i=0;i<3;i++)
  { cout<<"Vvedite chisla "<<i+1<<" stroki\n";
  for(int j=0;j<3;j++)
      cin>>matr[i][j];
  }
  for(int i=0;i<3;i++)
  { cout<<"\n";
  for(int j=0;j<3;j++)
      cout<<matr[i][j];
  }  
  for(int i=0;i<3;i++)
  { s=0;
    for(int j=0;j<3;j++)
      s+=matr[i][j];
      cout<<"\nsuma stroki "<<i+1<<" = "<<s;
    }    
}

Последний раз редактировалось XAPOH; 02.02.2011 в 19:49.
XAPOH вне форума Ответить с цитированием
Старый 02.02.2011, 19:47   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
NiCola999 вне форума Ответить с цитированием
Старый 02.02.2011, 20:45   #3
*stRong*
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 47
По умолчанию

Код:
#include <iostream>
using namespace std;


int main(void)
{
    int i,j,mas[3][3],min=0,n;
    
    for(i=0;i<3;i++)
     for(j=0;j<3;j++)
     {
      cout<<"Vvedite["<<i<<"]["<<j<<"] element: ";
       cin>>mas[i][j];
     }
      for(i=0;i<3;i++)  
        min+=mas[0][j]; //Pust` min budet 1 stroka
         n=0;           //Nomer min stroki
       
     for(i=1;i<3;i++)
      for(j=0;j<3;j++)
       if (mas[i][j]<min)  //Sravnivaem min s ostalnimi strokami
       {
        min=mas[i][j]; 
        n=i;                //Nahodim nomer iskomoy stroki

       }
      cout<<"Stroka s min summoy #"<<n+1<<endl; 
      system("pause");
      return 0;
}
*stRong* вне форума Ответить с цитированием
Старый 02.02.2011, 21:03   #4
XAPOH
Пользователь
 
Аватар для XAPOH
 
Регистрация: 23.10.2010
Сообщений: 15
По умолчанию

огромное спасибо !
XAPOH вне форума Ответить с цитированием
Старый 02.02.2011, 21:38   #5
XAPOH
Пользователь
 
Аватар для XAPOH
 
Регистрация: 23.10.2010
Сообщений: 15
По умолчанию

*stRong* у написаной вами программы есть один глюк - если цифры трех строк идут по возростанию
строка 1 - 3 3 3
строка 2 - 4 4 4
строка 3 - 5 5 5
или
1 2 3
4 5 6
7 8 9 и так далее,
то минимальная сумма будет всегда в 2 строке.
в другом случае все работает нормально.
XAPOH вне форума Ответить с цитированием
Старый 03.02.2011, 20:27   #6
*stRong*
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 47
По умолчанию

Конечно неправильно)) Что-то я недосмотрел, тут аж 2 ошибки)
1)for(i=0;i<3;i++)
min+=mas[0][j];
поэтому первая строка всегда 0 равна.

2)Я сравнивал мин не с суммой других строк, а с текущим эл-том матрицы)

Вот исправленный, вроде без косяков:

Код:
#include <iostream>
using namespace std;
int main(void)
{
    int i,j,mas[3][3],min=0,n,temp;
    
    for(i=0;i<3;i++)
     for(j=0;j<3;j++)
     {
      cout<<"Vvedite["<<i<<"]["<<j<<"] element: ";
       cin>>mas[i][j];
     }
      for(i=0;i<3;i++)  
        min+=mas[0][i]; 
         n=0;          
       
     for(i=1;i<3;i++)
      {
       temp=0;
      for(j=0;j<3;j++)
       temp+=mas[i][j];              
       if (temp<min)  
       {
        min=temp; 
        n=i;                
       }
      }
      for(i=0;i<3;i++)
      {           
       cout<<endl;   
       for(j=0;j<3;j++)
        cout<<mas[i][j]<<" ";
      }
      cout<<"Stroka s min summoy #"<<n+1<<endl; 
      system("pause");
      return 0;
}
*stRong* вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
матрица в 1С Steisha Помощь студентам 0 27.02.2010 15:08
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
Матрица (Си) ManInBlack Помощь студентам 3 13.01.2009 13:43
Матрица BlonDino4Ka Паскаль, Turbo Pascal, PascalABC.NET 3 07.01.2009 00:04