Выпускники КубГу\'13))

Объявление

Друзья! Оставляйте ссылки на свои страницы во Вконтакте, не все Вас по никам знают)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



исходники на си...

Сообщений 1 страница 4 из 4

1

и не загрязняйте ту тему))))

0

2

Вот такая нетривиальная задача... Поиск определителя 3-го порядка не перемножением элементов по алгоритму диагоналей и треугольников, а методом копирования 1 и 2 столбцов матрицы в 3 и 4 соответственно и рассмотрения только диагоналей вместо треугольников .. Не знаю, чем это легче, но препод сказал сделать именно так, я сделал :)
\\\
#include <stdio.h>

main()
{

  float A[3][5];
  int i=0; float P=0; float O=0;
  int n=0;
  printf("Vvedite matricu \n"); 
  for (i=0;i<=2;i++) scanf("%f %f %f",&A[i][0],&A[i][1],&A[i][2]);

  for (i=0;i<=2;i++) //kopiruem stolbci 1 i 2 v 4 i 5
  {A[i][3]=A[i][0];
  A[i][4]=A[i][1];}
  int k=0;
  float C=1; //bufer umnozheniya elementov

  for (n=0;n<=2;n++) //summiruem glavniye diagonali
{
  for (i=0;i<3;i++) C=C*(A[i][i+k]);
   P=P+C;
   k=k+1;
   C=1;
}
  k=0;
  O=P; P=0; C=1;

for (n=0;n<=2;n++) //summiruem pobochniye diagonali
{
  for (i=0;i<=2;i++)
  C=C*(A[i][2-i+k]);
  P=P+C;
  k=k+1;
  C=1;
}

  O=O-P; //vichitaem
  printf("opred=%f",O);

}

Отредактировано Лирический физик (2008-11-12 15:54:16)

0

3

Перемножение двух матриц 3x3
#include <stdio.h>

main()
{

  float A[3][3],B[3][3],C[3][3];
  int i=0;
  int n=0;
  int j=0;
  printf("Vvedite matricu 1 \n"); 
  for (i=0;i<=2;i++) scanf("%f %f %f",&A[i][0],&A[i][1],&A[i][2]);
  printf("Vvedite matricu 2 \n"); 
  for (i=0;i<=2;i++) scanf("%f %f %f",&B[i][0],&B[i][1],&B[i][2]);
for (i=0;i<=2;i++)
  for (j=0;j<=2;j++) C[i][j]=0;

  for (n=0;n<=2;n++)
{
for (j=0;j<=2;j++)

  for (i=0;i<3;i++) C[n][j]=C[n][j]+A[n][i]*B[i][j];
}

for (i=0;i<=2;i++) printf("%3g %3g %3g \n",C[i][0],C[i][1],C[i][2]);

}

0

4

Численный метод поиска нуля монотонной функции (первая теорема Больцано-Коши). Способ дихотомии.
Функцию (монотонную на промежутке) задаем в описании float f
Концы исходного отрезка задаем в теле главной подпрограммы (float a=, float b=).
Точность нахождения нуля (корня многочлена) составляет +- 0,1 (задается как условие повторения цикла).
--
#include <stdio.h>
#include <math.h>
float f(float x)
{
  float rez;
  rez=pow((x+10),3);

  return rez;
}

int main()
{
   
   float b=50;
   float a=-50;
   float c=0;
   float rez=0;   
   
   do{
   c=(b+a)/2;
   if (((f(c)>0)&&(f(b)<0))||((f(c)<0)&&(f(b)>0))) a=c;
   else b=c;
   }
   while ((b-a)>0.1);
   rez=(b+a)/2;
   printf("koren=%f",rez);
}

0



Рейтинг форумов | Создать форум бесплатно