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

Ошибка с присвоением значений к массивам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найдите ошибки http://www.cyberforum.ru/cpp-beginners/thread1165474.html
class ABC{ int a=3; int b; int c; public: ABC(int n=1) {b=n;} mul() {c=1+a*b;} };
C++ Найдите ошибку в классе В классе PRIMER объявлен прототип int PRIMER(int a, float pi); http://www.cyberforum.ru/cpp-beginners/thread1165471.html
Списки(односторонний список со структурой) C++
Необходимо организовать односторонний список со структурой(код структуры ниже). Сделать следующие действия: 1) Добавление элементов в список; 2)Удаление элементов со списка; 3)Добавление элемента в конец списка; 4)Поиск за заданным полем; 5) Печать списка Код структуры: #include<stdio.h> #include<conio.h> #include <cstring>
C++ Алгоритм Лемпела-Зивы. Программа не выходит из цикла
Данная программа реализует (почти) Алгоритм Лемпела-Зивы #include <vector> #include <string> #include <iostream> #include <fstream> #include <utility> #include <algorithm> using namespace std;
C++ Выход из цикла http://www.cyberforum.ru/cpp-beginners/thread1165433.html
Доброго времени суток. Подскажите, пожалуйста как сделать выход из цикла при нажатии 0 в меню. Пытался так на ESC, но не выходит. #include <iostream> #include <conio.h> //include library with getch() function using namespace std; int main() { char q; do
C++ В тексте найти слова , которые встречаются больше N раз Введен текст . В этом тексте найти слова , которые встречаються больше N раз . Эти слова записать в отдельный массив . #include "stdafx.h" #include <iostream> #include <cstdlib> #include <cstdio> #include <string> using namespace std; char s; // исходная строка const int n=20; typedef char array; подробнее

Показать сообщение отдельно
diegovoin
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 97
04.05.2014, 03:09  [ТС]     Ошибка с присвоением значений к массивам
Цитата Сообщение от stawerfar Посмотреть сообщение
C++
1
std::cout <<std::fixed << твои данные .....
Добавлено через 1 минуту
И еще замени везде double на float если данные будут не коректны
такая же проблема.или я не туды воткнул
C++
1
2
3
4
5
6
7
void writevec(double x[10], char *name, int n) {
 
    std::cout <<  "Vivesti vektor " << name << " razmera " << n << "\n";
    for (int i = 0; i<n; i++) {
        std::cout << std::fixed << " " << name << "[" << i << "]=" << x[i] << "\n";
    }
}
C++
1
2
3
4
5
6
7
8
9
void writematr(double y[10][10], char *name, int n, int m) {
 
    std::cout << "Vivesti matricu " << name << " razmera " << n << "x" << m << "\n";
    for (int i = 0; i<n; i++)
    for (int j = 0; j<m; j++) {
 
        std::cout << std::fixed << " " << name << "[" << i << ", " << j << "]=" << y[i][j] << "\n";
    }
}
или нужно fixed втыкать во все строки где использую cout?

Добавлено через 7 минут
Цитата Сообщение от stawerfar Посмотреть сообщение
C++
1
std::cout <<std::fixed << твои данные .....
Добавлено через 1 минуту
И еще замени везде double на float если данные будут не коректны
с заменой ткни лучше пальцем.... их много)

Добавлено через 9 минут
заменил все на float где то в выводе вектора и матрицы воткнул fixed ,но всеравно нету подсчета ..ввод норм
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
#include <iostream>;
# include <math.h>;
 
// VEC
float x[10], x_1[10], ax[10], ax_1[10], c[10];
 
// MATR
float e[10][10], a[10][10], a_1[10][10], b[10][10], b_1[10][10], br[10][10], br_1[10][10];
 
float drob(int a, int b) {
    return static_cast<double>(a)/b;
}
 
void readvec(char *name, int n) {
    int a, b;
    char h;
    std::cout << "Vvesti vektor " << name << " razmera " << n << "\n";
    for (int i = 0; i < n; i++) {
        std::cout << " " << name << "[" << i << "]=";
        std::cin >> a >> h >> b;
        std::cout << "Poluchivsshazsa drob: " << drob(a, b) << "\n";
        x[i] = drob(a, b);
    }
    std::cout << "\n";
}
void writevec(float x[10], char *name, int n) {
 
    std::cout  << "Vivesti vektor " << name << " razmera " << n << "\n";
    for (int i = 0; i<n; i++) {
        std::cout << std::fixed << " " << name << "[" << i << "]=" << x[i] << "\n";
    }
}
void readmatr(char *name, int n, int m, char *type) {
    int c,b;
    char p;
 
    std::cout << "Vvesti matricu " << name << " razmera " << n << "x" << m <<"\n";
    for (int i=0; i < n;i++) {
        for (int j=0; j < m;j++) {
        std::cout << " " << name << "[" << i << ", " << j << "]=";
        std::cin >> c >> p >> b;
        std::cout << "Poluchivsshazsa drob: " << drob(c,b) << "\n";
        if (strcmp(type,"A") == 0)
        a[i][j] = drob(c,b);
        if (strcmp(type,"B") == 0)
        a_1[i][j] = drob(c,b);
        }
    }
    std::cout << "\n";
}
void writematr(float y[10][10], char *name, int n, int m) {
 
    std::cout << std::fixed << "Vivesti matricu " << name << " razmera " << n << "x" << m << "\n";
    for (int i = 0; i<n; i++)
    for (int j = 0; j<m; j++) {
 
        std::cout << std::fixed << " " << name << "[" << i << ", " << j << "]=" << y[i][j] << "\n";
    }
}
 
void Em(int n) {
    for (int i=0; i==n;i++) {
        for (int j=0; j==n;j++) {
            if (i == j)
                e[i][j] = 1;
            else 
                e[i][j] = 0;
        }
    }
}
 
void Rmatr(float a[10][10], float b[10][10], int n, int m, char *type) {
    for (int i=0; i==n;i++) {
        for (int j=0; j==m;j++) {
            if (strcmp(type,"A") == 0)
            br[i][j] = a[i][j] - b[i][j];
            if (strcmp(type,"B") == 0)
            br_1[i][j] = a[i][j] - b[i][j];
        }
    }
}
 
void obrmatr(float AIS[10][10], float AP[10][10], int n, char *type) {
    double a[10][10];
    for (int i=0; i<10;i++)
        for (int j=0; j<10;j++)
            a[i][j] = AIS[i][j];
 
    for (int k=0; k<n;k++){
        for (int j=0;j<n;j++)
            if (j != k){
                if (strcmp(type,"A") == 0)
                b[k][j] = -a[k][j] / a[k][k];
                if (strcmp(type,"B") == 0)
                b_1[k][j] = -a[k][j] / a[k][k];
            }
        for (int i=0;i<n;i++)
            if (i != k){
                if (strcmp(type,"A") == 0)
                b[i][k] = a[i][k] / a[k][k];
                if (strcmp(type,"B") == 0)
                b_1[i][k] = a[i][k] / a[k][k];
            }
        for (int i=0;i<n;i++)
            for (int j=0;j<n;j++)
                if (i != k && j != k){
                    if (strcmp(type,"A") == 0)
                    b[i][j] = a[i][j] - a[i][k] * a[k][j] / a[k][k];
                    if (strcmp(type,"B") == 0)
                    b_1[i][j] = a[i][j] - a[i][k] * a[k][j] / a[k][k];
                }
        if (strcmp(type,"A") == 0)
            b[k][k] = 1 / a[k][k];
        if (strcmp(type,"B") == 0)
            b_1[k][k] = 1 / a[k][k];
 
        for (int i=0; i<10;i++)
            for (int j=0; j<10;j++)
                a[i][j] = AP[i][j];
    }
}
 
void matrvec(float b[10][10], float c[10], int n, char *type) {
    for (int j=0;j<n;j++) {
        if (strcmp(type,"A") == 0)
        x[j] = 0;
        if (strcmp(type,"B") == 0)
        x_1[j] = 0;
        if (strcmp(type,"C") == 0)
        ax[j] = 0;
        if (strcmp(type,"D") == 0)
        ax_1[j] = 0;
        for (int i=0;i<n;i++){
            if (strcmp(type,"A") == 0)
            x[j] = x[j] + b[i][j] * c[i];
            if (strcmp(type,"B") == 0)
            x_1[j] = x_1[j] + b[i][j] * c[i];
            if (strcmp(type,"C") == 0)
            ax[j] = ax[j] + b[i][j] * c[i];
            if (strcmp(type,"D") == 0)
            ax_1[j] = ax_1[j] + b[i][j] * c[i];
        }
    }
}
 
 
 
int main() {
    readvec("C", 2);
    readmatr("A", 2, 2, "A");
    readmatr("Z", 2, 2, "B");
 
    Em(2);
 
    Rmatr(e, a, 2, 2, "A");
    Rmatr(e, a_1, 2, 2, "B");
 
    obrmatr(br, b, 2, "A"); 
    obrmatr(br_1, b_1, 2, "B"); 
 
    matrvec(b, c, 2, "A"); 
    matrvec(b_1, c, 2, "B"); 
    matrvec(a, x, 2, "C"); 
    matrvec(a_1, x_1, 2, "D");
 
    if (ax[0] <= c[0] && ax[1] <= c[1])
        std::cout << "Aconomika matrica A - affektivna \n";
    else
        std::cout << "Aconomika matrica A - ne affektivna \n";
    if (ax_1[0] <= c[0] && ax_1[1] <= c[1])
        std::cout << "Aconomika matrica A_1 - affektivna \n";
    else
        std::cout << "Aconomika matrica A_1 - ne affektivna \n";
    std::cout << "\n";
 
    writematr(b, "B", 2, 2);
    writematr(b_1, "Z", 2, 2);
    writevec(x, "x", 2);
    writevec(x_1, "y", 2);
 
    system("pause");
    return 0;
}
 
Текущее время: 14:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru