0 / 0 / 0
Регистрация: 14.07.2019
Сообщений: 16
1

Доброго времени. Ошибка использована не инициализированная локальная переменная "x"

27.10.2019, 13:32. Показов 558. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;
 
 
void read(int x)
{
    int count = 0;
    char temp;
    ifstream in;
    in.open("input.txt");
    while (!in.eof())
    {
        in >> temp;
        if (temp == '$') count++;
    }
    in.clear();
    in.close();
    count++;
    x = count;
    //cout << "x = " << x << '\t';
}
 
void math_razm(int*  n, int* m)
{
    int x;
    read(x);
    n = new int[x];
    m = new int[x];
    char temp;
    int k = 0;
    int countn = 0;
    ifstream in;
    in.open("input.txt");
    while (!in.eof())
    {
        in.get(temp);
        if (temp != '$' )
        {
            if (temp == ' ') countn++;
            //if (temp == '\n') countm++;
        }
        else
        {   
            n[k] = (countn + 1) / 3;
            m[k] = 3;
            k++;
            countn = 0;
        }
    }
    n[k] = (countn + 1) / 3;
    m[k] = 3;
    in.clear();
    in.close();
}
 
void math(double*** cord)
{
    int x;
    read(x);
    int* n;
    int* m;
    n = new int[x];
    m = new int[x];
    math_razm(n, m);
    cord = new double**[x];
    for (int i = 0; i < x; i++)
        cord[x] = new double*[n[x]];
    for (int i = 0; i < x; i++)
        for (int j = 0; j <  n[x]; j++)
            cord[x][n[x]] = new double[m[x]];
    char temp;
    ifstream in;
    in.open("input.txt");
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < n[x]; j++)
        {
            for (int k = 0; k < m[x]; k++)
            {
                in >> cord[i][j][k];
            }
        }
        in >> temp;
    }
    in.clear();
    in.close();
}
 
int main()
{
    int x = 0;
    read(x);
    int* n;
    int* m;
    n = new int[x];
    m = new int[x];
    math_razm(n, m);
    double*** cord;
     cord = new double** [x];
    for (int i = 0; i < x; i++)
        cord[x] = new double* [n[x]];
    for (int i = 0; i < x; i++)
        for (int j = 0; j < n[x]; j++)
            cord[x][n[x]] = new double[m[x]];
    math(cord);
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j < n[x]; j++)
        {
            for (int k = 0; k < m[x]; k++)
            {
                cout << cord[i][j][k] << '\t';
            }
            cout << '\n';
        }
        cout << '$';
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.10.2019, 13:32
Ответы с готовыми решениями:

Ошибка: использована неинициализированная локальная переменная
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? #include &lt;iostream&gt; int main...

Ошибка: использована неинициализированная локальная переменная
Такое задание: Даны две строки, содержащие не более 100 символов. Строки состоят из слов,...

Ошибка C4700 использована неинициализированная локальная переменная
Программа выдает ошибку: Ошибка C4700 использована неинициализированная локальная переменная...

Ошибка C4700 использована неинициализированная локальная переменная
Выдает ошибку при компиляции, что Ошибка C4700 использована неинициализированная локальная...

Ошибка С4700: использована неинициализированная локальная переменная
Помогите, пожалуйста, исправить ошибку в коде #include &lt;iostream&gt; #include &lt;cstddef&gt;...

2
фрилансер
5497 / 5093 / 1047
Регистрация: 11.10.2019
Сообщений: 13,321
27.10.2019, 13:37 2
ну так надо инициализировать
int x=0;

а тут надо ссылку, наверное
void read(int& x)

а ещё лучше так
C++
1
2
3
4
5
6
int read()
{
   int x=0;
   ...
   return x;
}
1
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,699
27.10.2019, 13:41 3
Цитата Сообщение от SanguineousfFox Посмотреть сообщение
int x;
read(x);
Смотрим объявление read
Цитата Сообщение от SanguineousfFox Посмотреть сообщение
void read(int x)
т.е. x передается в функцию read по значению (передается копия переменной).
Следовательно, в функции она меняться не может -> x как была неинициализированой, так и осталась.
0
27.10.2019, 13:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2019, 13:41
Помогаю со студенческими работами здесь

Ошибка C4700 использована неинициализированная локальная переменная
// ConsoleApplication15.cpp: определяет точку входа для консольного приложения. // #include...

Ошибка "error C4700: использована неинициализированная локальная переменная"
Здравствуйте! Есть задача: Дана вещественная матрица размерностью 8x8. Определить: 1) сумму...

Функция PTinqpoint() и ошибка "Использована неинициализированная локальная переменная"
Добрый день, возникает проблема с реализацией функции. Документация по ней: PTinqpoint int32...

Ошибка в коде: "использована неиницилизирована локальная переменная"
решал задачку где нужно создать функию котора выводит среднее значение введеных чисел масива. код...

Ошибка C4700 использована неинициализированная локальная переменная "first"
Ошибка C4700 использована неинициализированная локальная переменная &quot;first&quot; помогите пожалуйста...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru