Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 17.11.2012, 01:16   #1 (permalink)
Geneva
Новичок
 
Регистрация: 17.11.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Матрицы С++

Доброго времени суток.
Нуждаюсь в вашей помощи. Помогите пожалуйста дополнить комментарии к программе. Комментарии уже имеются, но как оказалось нужно по максимуму описать программу
Код:
#include <iostream>
int main()
{
int a[2][2]; int b[2][2]; int r[2][2];
a[0][0]=1;
a[0][1]=1;
a[1][0]=1;
a[1][1]=0;

b[0][0]=1;
b[0][1]=0;
b[1][0]=0;
b[1][1]=1;

int n=5;				     // объявляем n, n- степень возведения
r[0][0]=0;
r[0][1]=0;
r[1][0]=0;
r[1][1]=0;

cout << r;
  while ( n != 0 )                           // до тех пор пока n не равно 0
  {
   if (n%2==0)                               // если n - четное
   { cout <<"then";
     n=n/2;                                  // делим n на 2
     for (int i=0; i<2; ++i)                      
     {                                       // возводим матрицу а в квадрат
       for (int j=0; j<2; ++j)
        { 
          int s=0;        
          for (int l=0; l<2; ++l)            //  параметр возрастания
           {          
             s+=a[i][l]* a[l][j];
           }
             r[i][j]=s;                      // помещаем результат в r
        }
     } 
for (int i=0; i<2; ++i)                      // происходит обновление a
     {
       for (int j=0; j<2; ++j)
        { 
         a[i][j]=r[i][j]; 
        }
     }
   }   
else                                         // в противном случае, когда n - нечетно
{ cout <<"else";
  n=n-1;                                     // производим вычитание n-1
  for (int i=0; i<2; ++i)
   {                                         // перемножаем b и a
     for (int j=0; j<2; ++j)
      { 
        int s=0;        
        for (int l=0; l<2; ++l)
          {          
           s+=b[i][l]* a[l][j];
          }
           r[i][j]=s;                        // результат опять помещаем в r
          
      }
   }
 
for (int i=0; i<2; ++i)                      // теперь происходит обновление b
     {                                                 
       for (int j=0; j<2; ++j)
        { 
         b[i][j]=r[i][j]; 
        }
     }   
  }

}
 
cout<<b;                                     // выводим конечный результат b 
}
Geneva вне форума   Ответить с цитированием

Старый 17.11.2012, 01:16
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Очень важно почитать схожие темы, возможно, что там уже есть нужный вам ответ

Матрицы и строки
Матрицы в С++
Задача на матрицы
Задачи на матрицы
Матрицы

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:11.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.