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

Проблема с кодом работы с матрицей - C++

Восстановить пароль Регистрация
 
Jane8393
Сообщений: n/a
03.04.2013, 15:36     Проблема с кодом работы с матрицей #1
Помогите пожалуйста, таже проблема, не знаю в чем ошибка 47 строка...

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
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define  _CRT_SECURE_NO_WARNINGS
 
 
int n,p,c,i,j,in,out,m; float k,b;
    float *matr=new float [n*n];
    float *s=new float [n];
    
        FILE* f;
    int vvod();
    int vivod();
    int matrics();
 
void vvod (int argc, char** argv,int &n, int &m,FILE* f,float* matr, int in)
{
    for (i=1; i<argc; i++){
        if(!(strcmp(argv[i],"-in")))
        {in=i+1;}
        if(!(strcmp(argv[i],"-out")))
        {out=i+1;}
    }
fopen_s(&f,argv[in],"r");
fscanf_s(f,"%d",&n);
fscanf_s(f,"%d",&m);
 
 
for (i=0; i<n; i++) {
    for (j=0; j<n; j++) {fscanf_s(f,"%f",matr[i*n+j]); }
}
fclose(f);
 
}
void vivod(char** argv,int &n,int &m,FILE* f,float* matr, int out)
{
fopen_s(&f,argv[out],"w");
 
for (i=0; i<n; i++) 
{for (j=0; j<n; j++)
{
    fprintf_s(f,"%d ",matr[i*n+j],"\n");}}
fclose(f);
}
void matrics(int argv, char *argv[],float* matr, int &m,int&n)
{
for (j=0; j<n-1; j++) {
    for (i=j+1;i<n; i++) {
    k=matr[i*n+j]/matr[(i-1)*n+j];
    if ((i-1)==j){
        if (matr[i*n+i]-matr[(i-1)*n+i]*k!=0){
 
    for (p=0; p<m; p++) {matr[i*n+p]=matr[i*n+p]-matr[(i-1)*n+p]*k;}
    } else 
        {
            for (p=0; p<m; p++) {s[p]=matr[m*i+p];}
            for (c=i+1; c<n; c++) {for (p=0; p<m; p++) { matr[(c-1)*m+p]=matr[m*c+p] ;}}
            for (p=0; p<n; p++) {matr[m*n+p]=s[p];}
                }
    }}
    }
}
int main(int argc, char *argv[])
            {
    
vvod(argc, argv,n,m, f, matr,in);
matrics(argv, argv[]matr, m,n);
vivod(argv, n ,m, f, matr, out);
 
for (i=0; i<n; i++) 
{for (j=0; j<n; j++)
{
    printf("%d ",matr[i*n+j],"\n");}}
 
delete[]matr;
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2013, 15:36     Проблема с кодом работы с матрицей
Посмотрите здесь:

C++ Шаблон для работы с матрицей
C++ Использование вектора для работы с матрицей
C++ Проблема с кодом программы - не работает проверка условия
Составить класс для работы с целочисленной матрицей C++
C++ Алгоритм для работы с матрицей
создать класс для работы с матрицей C++
C++ Составить программу работы с матрицей
Составить следующие функции для работы с матрицей C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
03.04.2013, 17:12     Проблема с кодом работы с матрицей #2
Как это "не знаю в чем ошибка"? Что компилятор говорит? 47 строка - это открывающая скобка. Значит у тебя где-то несовпадение кол-ва открывающих к кол-ву закрывающих. Видимо в функции matrics. Лично я в нем насчитал лишних две закрывающих скобки.
Yandex
Объявления
03.04.2013, 17:12     Проблема с кодом работы с матрицей
Ответ Создать тему
Опции темы

Текущее время: 03:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru