Форум программистов, компьютерный форум 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
18.02.2010, 21:10  [ТС]
помогите исправить одну ошибку!!!
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <stdlib.h>
 
void summa( int* a, int* b, int* c,int razmer);
void raznost( int* a, int* b, int* c,int razmer);
void proizved( int* a, int* b, int* c,int razmer);
void umnNaChislo( int* a,int* c, int razmer, int numb);
void vvod( int* a,int razmer);
void vivod( int* matr, int razmer, char bukva);
void v_fail( int* a,int razmer,char* imya);
void iz_faila( int* a,int razmer, char* imya);
 
 
void main()
{
    int *a,*b,*c,*d,*e;
    int x,razmer;
    
 
    printf("Vvod iz faila/s klaviatury? (1/2) ");
    scanf("%d",&x);
    if (x == 1)
    {
        
        iz_faila(a,razmer,"A.txt");
        iz_faila(b,razmer,"B.txt");
 
    }
    else
    {
 
        printf("Vvedite razmernost`: ");
        scanf("%d",&razmer);
        if(razmer<1||razmer>8)
        {
            printf("Error: nepravil`naja razmernost`!!!"); getch();
            return;
        }
    
        a = (int*)malloc(razmer*razmer*sizeof(int));
        b = (int*)malloc(razmer*razmer*sizeof(int));
        c = (int*)malloc(razmer*razmer*sizeof(int));
        d = (int*)malloc(razmer*razmer*sizeof(int));
        e = (int*)malloc(razmer*razmer*sizeof(int));
        vvod(a,razmer);
        vvod(b,razmer);
    }
    
    proizved(a,a,c,razmer);
    summa(c,b,c,razmer);
     proizved(c,b,e,razmer);
    umnNaChislo(a,d,2,razmer);
    raznost(d,e,c,razmer);
    
    printf("Vyvesti v fail/na displey? (1/2) ");
    scanf("%d",&x);
    if (x == 1)
        v_fail(c,razmer,"C.txt");
    else
        vivod(c,razmer,'C');
 
    free(a);
    free(b);
    free(c);
    free(d);
}
 
void vivod(int* matr, int razmer, char bukva)
{
    int i,j;
    printf("Matrica %c:\n",bukva);
    for(i=0;i<razmer;i++)
    {
        for(j=0;j<razmer;j++)
            printf("%5d |",*(matr+i*razmer+j));
        printf("\n");
    }
    getch();
}
 
void summa( int* a, int* b,int* c,int razmer)
{
    int i,j;
 
    for(i=0;i<razmer;i++)
        for(j=0;j<razmer;j++)
            *(c+i*razmer+j) = *(a+i*razmer+j)+*(b+i*razmer+j);
}
 
void raznost( int* a, int* b,int* c, int razmer)
{
    int i,j;
 
    for(i=0;i<razmer;i++)
        for(j=0;j<razmer;j++)
            *(c+i*razmer+j) = *(a+i*razmer+j)-*(b+i*razmer+j);
}
 
void proizved( int* a, int* b,int* c, int razmer)
{
    int i,j,k,t;
 
    for(i=0;i<razmer;i++)
    {
        for(j=0;j<razmer;j++)
        {
            t = 0;
            for(k=0;k<razmer;k++)
                t += *(a+i*razmer+j) * (*(b+i*razmer+j));
            *(c+i*razmer+j) = t;
        }
    }
}
 
void umnNaChislo( int* a, int* c, int numb, int razmer)
{
    int i,j;
 
    for(i=0;i<razmer;i++)
        for(j=0;j<razmer;j++)
        *(c+i*razmer+j) = *(a+i*razmer+j)*numb;
}
 
void vvod(int* a, int razmer)
{
    int i,j;
 
    for(i=0;i<razmer;i++)
        for(j=0;j<razmer;j++)
        {
            printf("Vvedite element [%d][%d]:",i+1,j+1);
            scanf("%d",&*(a+i*razmer+j));
        }
}
 
void_v fail(int* a,int razmer,char* imya)
{
    FILE* file;
    int i,j,c;
    printf("Vyvod v fail textovyj/tipizirovannyj? (1/2) ");
    scanf("%d",&c);
    if(c == 1)
    {
        if(file = fopen(imya,"wt"))
        {
            for(i=0;i<razmer;i++)
            {
                for(j=0;j<razmer;j++)
                    fprintf(file,"%5d | ",*(a+i*razmer+j));
                fprintf(file,"\n");
            }
        }
        else
        {
            printf("Error of open!"); getch(); exit(0);
        }
    }
    else
    {
        if(file = fopen(imya,"wb"))
        {
            for(i=0;i<razmer;i++)
                fwrite(a[i],sizeof(int),razmer,file);
        }
        else
        {
            printf("Error of open!"); getch(); exit(0);
        }
    }
}
 
void_iz faila(int** a,int razmer,char *imya)
{
    FILE* file;
    int i,j,c;
    printf("Vvod iz faila textovogo/tipizirovannogo? (1/2) ");
    scanf("%d",&c);
    if(c == 1)
    {
        if(file = fopen(imya,"rt"))
        {
        a = (int*)malloc(razmer*razmer*sizeof(int));
        b = (int*)malloc(razmer*razmer*sizeof(int));
        c = (int*)malloc(razmer*razmer*sizeof(int));
        d = (int*)malloc(razmer*razmer*sizeof(int));
        e = (int*)malloc(razmer*razmer*sizeof(int));
            for(i=0;i<razmer;i++)
            {
                for(j=0;j<razmer;j++)
                    fscanf(file,"%d",&*(a+i*razmer+j));
            }
        }
        else
        {
            printf("Error of open!"); getch(); exit(0);
        }
    }
    else
    {
        if(file = fopen(imya,"rb"))
        {
            for(i=0;i<razmer;i++)
                fread(a[i],sizeof(int),razmer,file);
        }
        else
        {
            printf("Error of open!"); getch(); exit(0);
        }
    }
}
Добавлено через 27 минут
аааааааааааааууууууууууууууу

Добавлено через 13 минут
SOS!!!!!!!!!! HELP!!!!!!!!!!!!!!!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru