Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Вычислить матрицу по двум другим - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ МНК, повреждение кучи http://www.cyberforum.ru/cpp-beginners/thread96619.html
Аппроксимация методом наименьших квадратов.. Если не использовать динамическую память, все работает замечательно.. Если описывать массивы как динамические - программа работает через раз.. Если...
C++ Электронные часы Приветствую всех специалистов по программированию!!! Мне срочно нужна ваша помощь! помогите пожалуйста разработать программу на С++ в графическом режиме, которая будет показывать в середине экрана... http://www.cyberforum.ru/cpp-beginners/thread96616.html
Рекурсивное вычисление C++
Доброе время суток!!! Помогите пожалуйста решить две задачи с помощью рекурсии. За ранее огромное спасибо!!! Задача №1. Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном...
C++ Используя оператор For и else
Составить программу каторые выводить четные цифры Используя оператор For спс заранее)))))
C++ Функция без условия http://www.cyberforum.ru/cpp-beginners/thread96568.html
Нужно написать программу к этой функции( толкового словесного условия к ней не давали ) Вот f(2)=3x(в кубе, тоесть в 3-й степени)-2x(в квадрате, тоесть во 2-й степени)+4x-1 Тоесть программа и есть...
C++ Определить максимальное значение напряжения в сети Народ, плз, помогите :help: В течение суток через каждый час проведены 24 замера напряжения в сети. Определить максимальное значение напряжения в сети в интервале (20,6) час и время, когда оно было... подробнее

Показать сообщение отдельно
Slav1991
0 / 0 / 1
Регистрация: 07.01.2010
Сообщений: 44
11.03.2010, 20:59  [ТС]
где тут ошибка?С файла не читает и проверка N>8 не выполняется
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include<stdio.h>
#include <conio.h>
 
void VVOD(float Matrix[8][8],int M);
void VYVOD(float Matrix[8][8],int M);
void MINUS(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M);
void PLUS(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M);
void UMNOGENIE(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M);
void DEISTVIE(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M);
 
 
int main()
{
int N,Pr,i,j;FILE *f;
float A[8][8],B[8][8],C[8][8];
 
     printf("Vvedite Priznak=1-dannye iz faila!; Priznak=2-dannye s klaviatury! \n");
      printf("Priznak="); scanf("%d",&Pr);
      if(Pr==2)
     {
         printf("Vvedite Razmernost Matric N*N \n");
         printf("N=");scanf("%d",&N);
         printf("Vvedite Matritsu A \n");
         VVOD(A,N);
        printf("Vvedite Matritsu B \n");
         VVOD(B,N);
     }
 
     if(Pr==1)
     { f=fopen("D:\\abc.txt","r");
         while(!feof(f))
        {
            fscanf(f,"%d\n",&N); printf("N=%d\n",N);
                 for(i=0;i<N;i++)
                        for(j=0;j<N;j++)
                          fscanf(f,"%f\t",&A[i][j]);
                        for(i=0;i<N;i++)
                        for(j=0;j<N;j++)
                            fscanf(f,"%f\t",&B[i][j]);
     }
        fclose(f);
     }
 
if(N>8)
{ printf("Nedopustimo Bolshaya Razmernost! Vvedite razmernost <=8*8 \n"); return 0;}
 
 
getch();
 
printf("Matritsa A \n");
VYVOD(A,N);
printf("Matritsa B \n");
VYVOD(B,N);
DEISTVIE(A,B,C,N);
 
return 0;
}
 
 
 void VVOD(float Matrix[8][8],int M)
 {
     int i,j;
     for(i=0;i<M;i++)
         for(j=0;j<M;j++)
             scanf("%f",&Matrix[i][j]);
 
 }
 
 void VYVOD(float Matrix[8][8],int M)
 {
      int i,j;
     printf("Vyvod Matritsu \n");
      for(i=0;i<M;printf("\n"),i++)
         for(j=0;j<M;j++)
             printf("%5.2f   \t" ,Matrix[i][j]);
 }
 
 
void MINUS(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M)
{
    int i,j;
     for(i=0;i<M;i++)
         for(j=0;j<M;j++)
             RES[i][j]=Matrix1[i][j]-Matrix2[i][j];
 
 
}
void PLUS(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M)
{
    int i,j;
     for(i=0;i<M;i++)
         for(j=0;j<M;j++)
             RES[i][j]=Matrix1[i][j]+Matrix2[i][j];
 
 
}
void UMNOGENIE(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M)
{
    int i,j,k;
     for(i=0;i<M;i++)
         for(j=0;j<M;j++)
             for(RES[i][j]=0,k=0;k<M;k++)
                 RES[i][j]+=Matrix1[i][k]*Matrix2[k][j];
}
void UMNOGENIE_Na_Chislo(float Matrix[8][8],int Chislo,float RES[8][8],int M)
{
    int i,j;
     for(i=0;i<M;i++)
         for(j=0;j<M;j++)
             RES[i][j]=Matrix[i][j]*Chislo;
}
 
void DEISTVIE(float Matrix1[8][8],float Matrix2[8][8],float RES[8][8],int M)
{
 
float B2[8][8],A2[8][8],T[8][8],U[8][8];
FILE *g;
int i,j;
UMNOGENIE(Matrix2,Matrix2,B2,M);
 
MINUS(Matrix1,B2,T,M);
 
UMNOGENIE_Na_Chislo(Matrix1,2,A2,M);
 
PLUS(A2,Matrix2,U,M);
PLUS(T,U,RES,M);
printf("Vyvod Matrici C: C=(A-B*B)+(2*A+B) \n");
VYVOD(RES,M);
g=fopen("D:\\abc.txt","a");
         if(g!=0)
        {   fprintf(g,"\n");
            for(i=0;i<M;fprintf(g,"\n"),i++)
 
                for(j=0;j<M;j++)
                    fprintf(g,"%5.2f   \t" ,RES[i][j]);
        }
fclose(g);
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru