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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 00:43   #1
Aleks@ndr
Новичок
Джуниор
 
Регистрация: 25.11.2012
Сообщений: 1
По умолчанию С++ работа с файлами и матрицами

С++
В файле test.in записана матрица размером N*N. Найти ее определитель. Результат записать в test.out. Для работы с файлами использовать функцию cstdio.
Как такое сделать ?
Вот написанный мною код. Эта программа вычисляет определитель матрицы.
Код:
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
#define NN 6
 
main()
{
clrscr();
 
float a[NN][NN],kst;
int i,j,n,p,k=0,t;
char yn;
 
// <----Ввод размера квадратной матрицы---->
 
while(k==0)
{
printf("\nВведите размер матрицы (от 2 до %d): N=",NN);
n=getche()-48;
if ((n<2) || (n>NN)) k=0;
else k=1;
}
 
// <----Ввод матрицы a[NN][NN]---->
 
k=0;
while(k==0)
{
printf("\n\nЗадать матрицу случайно? y/n: ");
yn=getche();
if ((yn=='y') || (yn=='n')) k=1;
else k=0;
}
switch(yn)
{
case 'y': for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=rand()%100;break;
default:
{
printf("\nВведите матрицу %dx%d\n",n,n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%f",&a[i][j]);
}
break;
}
 
 
// <----Выводим введенную матрицу---->
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++) printf("%6.2f\t",a[i][j]);
printf("\n\n");
}
 
// <----Считаем определитель---->
 
p=0;
for (i=0; i<n-1; i++)
{
t=1;
while(a[i][i]==0)
{
for(j=0; j<n; j++)
{
a[i][j]=kst;
a[i][j]=a[i+t][j];
a[i+t][j]=kst;
}
p++;
t++;
}
 
for (k=i+1; k<n; k++)
{
kst=a[k][i]/a[i][i];
for(j=0; j<n; j++)
a[k][j]-=a[i][j]*kst;
}
}
 
kst=pow(-1,p);
for(i=0; i<n; i++)
kst*=a[i][i];
 
printf("Определитель равен: %14.3f",kst);
getch();
}
Aleks@ndr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си - работа с матрицами. airman23 Помощь студентам 2 23.05.2012 12:18
Работа с матрицами (с/с++) Девченка Помощь студентам 0 21.05.2012 14:43
Работа с матрицами на с++ mr_fomin Помощь студентам 0 12.12.2010 20:42
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19