Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

amorua

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
#include<stdio.h>
#include<math.h>
 
#define N 2
 
 
/* multiply 2 square matrices a and b and return c=a*b */
int matmult(float a[N][N], float b[N][N], float c[N][N])
{ int i,j,k;
 
  for(i=0;i<N;i++)
     for(j=0;j<N;j++)
     {   c[i][j]=0;
         for(k=0;k<N;k++)
            c[i][j] = c[i][j]+a[i][k]*b[k][j];
     };
 
  return 0;
};
 
/* return c = a^k */
int matpow(float a[N][N], int k, float c[N][N])
{
  int i,j,i1;
  float b[N][N];
   
  if(k<1){
    printf("ERROR: k<1");
    return -1;
  }
   
  for(i=0;i<N;i++) for(j=0;j<N;j++)  b[i][j]=a[i][j];
   
  for(i=1;i<k;i++)  
  {  matmult(a,b,c);
     for(i1=0;i1<N;i1++) for(j=0;j<N;j++)  b[i1][j]=c[i1][j];
  };
  return 0;
}
 
 
int matprintsquare(float a[N][N])
{ int i,j;
 
  for(i=0;i<N;i++)
     {for(j=0;j<N;j++)
        printf("%f ",a[i][j]);
       printf("\n");    
     };
     
  return 0;  
};
 
int main(void)
{ float a[N][N];
  float c[N][N];
   
  int i,j;
   
  /* random seed */
  srand(time(0));
     
  /* initialize a[][] with random floats in [0;1] */
  for(i=0;i<N;i++)
      for(j=0;j<N;j++)
          a[i][j] =  i+j; /*(float)rand()/(float)RAND_MAX;*/
 
  matprintsquare(a);
 
 
  matpow(a, 3, c);
   
  printf("\n");
  matprintsquare(c);
   
  return 0;
}
 
 
 


Всего записей: 429 | Зарегистр. 09-02-2004 | Отправлено: 17:38 19-10-2008 | Исправлено: amorua, 17:39 19-10-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru