Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 1
Регистрация: 08.09.2014
Сообщений: 20
1

Мусор в массиве

14.12.2016, 15:23. Показов 1534. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Cчитываю значения из файла с помощью метода класса All в массив xlim[][]

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void All :: InputLim()
{
    ifstream f;
    
    f.open("2.txt", ios::in);
 
    while (!f.eof())
    {
        for (int i = 0; i < QuantityFunc; i++)
            for (int j = 0; j <= QuantityX; j++)
                    f >> xlim[i][j];
    }
 
    f.close();
}
При попытке вывода из другого метода другого класса - выдает мусор. В чем может быть проблема?

C++
1
2
3
4
5
6
7
8
void Math :: KramerMethod()
{
    All a;
 
    for (int i = 0; i < QuantityFunc; i++)
        for (int j = 0; j < QuantityFunc; j++ )
            cout << a.xlim[i][j];
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2016, 15:23
Ответы с готовыми решениями:

Мусор в массиве
Задание: Подсчитать количество ненулевых разрядов в двоичной записи заданного натурального числа. ...

Мусор в массиве
Не могу понять в чем проблема, выводит мусор при компиляции в массивах name, avtor, izdat. Так же...

Мусор в массиве символов
Есть класс, который при создании принимает текстовый массив, который будет являться числом, число...

Мусор в строковом статическом массиве C++
Если строковый статический массив заполнить \0, а потом вводить символы, количество которых &lt;...

9
114 / 112 / 62
Регистрация: 15.03.2013
Сообщений: 561
Записей в блоге: 5
14.12.2016, 15:44 2
Массив в публичном доступе? За границы не выходите?
0
2 / 2 / 1
Регистрация: 08.09.2014
Сообщений: 20
14.12.2016, 15:48  [ТС] 3
В классе все находится в Public:
За пределы массива точно не выхожу, даже наоборот чутка обрезаю
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
14.12.2016, 15:49 4
nigma2014, покажите весь код.
0
1355 / 854 / 365
Регистрация: 26.02.2015
Сообщений: 3,806
14.12.2016, 15:51 5
Создаете в функции новый объект класса и пытаетесь вывести его значения?

Добавлено через 18 секунд
Так прежде чем вывести, их надо сначала ввести.
1
2 / 2 / 1
Регистрация: 08.09.2014
Сообщений: 20
14.12.2016, 15:57  [ТС] 6
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
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
 
const int QuantityFunc = 3;
const int QuantityX = 5;
 
class Math;
 
class All
{
public:
    friend class Math;
    int xf[10][10];
    int xlim[10][10];
    void InputFunc();
    void InputLim();
    void OutputLimMatrix();
};
 
 
void All :: OutputLimMatrix()
{
    for (int i = 0; i < QuantityFunc; i++)
        for (int j = 0; j <= QuantityX; j++)
        {
            cout << xlim[i][j]<< " ";
            if (j ==  QuantityX) cout << endl;
        }
    _getch();
}
void All :: InputLim()
{
    ifstream f;
    
    f.open("2.txt", ios::in);
 
    while (!f.eof())
    {
        for (int i = 0; i < QuantityFunc; i++)
            for (int j = 0; j <= QuantityX; j++)
                    f >> xlim[i][j];
    }
 
    f.close();
}
void All :: InputFunc()
{
    ifstream f;
    
    f.open("1.txt", ios::in);
 
    while (!f.eof())
    {
        for (int i = 0; i < QuantityFunc; i++)
            for (int j = 0; j < QuantityFunc; j++)
                f >> xf[i][j];
    }
 
    f.close();
}
 
class Math
{
private:
    int xkr[10][10];
public:
    void KramerMethod();
    void SearchOptDecision();
    double det(int i, int j, int k);
    friend class All;
};
 
void Math :: SearchOptDecision()
{   int q = 0;
    for (int i = 0; i < QuantityX - 2; i ++)
        for (int j = i + 1; j < QuantityX - 1; j ++)
            for (int k = j + 1; k < QuantityX; k ++)
            {
                q++;
                cout << q << " - " << i << " "<< j << " " << k  << endl;
                
                KramerMethod();
                cout << endl;
            }
}
 
void Math :: KramerMethod()
{
    All a;
 
    for (int i = 0; i < QuantityFunc; i++)
        for (int j = 0; j < QuantityFunc; j++ )
            cout << a.xlim[i][j];
}
 
int main ()
{
    setlocale (LC_ALL, "rus");
 
    All all;
    Math math;
 
    all.InputFunc();
    all.InputLim();
    all.OutputLimMatrix();
 
    math.SearchOptDecision();
 
    _getch();
    return 0;
}
Добавлено через 2 минуты
Они вводятся функцией void All :: InputLim()
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
14.12.2016, 15:58 7
Цитата Сообщение от nigma2014 Посмотреть сообщение
Они вводятся функцией void All :: InputLim()
.... ну вы ее не вызываете и закономерно получаете свой мусор в массиве)
0
2 / 2 / 1
Регистрация: 08.09.2014
Сообщений: 20
14.12.2016, 16:00  [ТС] 8
А на 106 строчке она не должна была заполнить?
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
14.12.2016, 16:02 9
Лучший ответ Сообщение было отмечено nigma2014 как решение

Решение

Цитата Сообщение от nigma2014 Посмотреть сообщение
А на 106 строчке она не должна была заполнить?
нет
Цитата Сообщение от nigma2014 Посмотреть сообщение
All a;
на 91 строке не имеет никакого отношения к
Цитата Сообщение от nigma2014 Посмотреть сообщение
All all;
из 102...
вы заполняете массив для переменной all, а переменная a просто остается с хламом внутри...
1
2 / 2 / 1
Регистрация: 08.09.2014
Сообщений: 20
14.12.2016, 16:04  [ТС] 10
Спасибо большое. Разобрался, заработало!
0
14.12.2016, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2016, 16:04
Помогаю со студенческими работами здесь

Мусор в массиве после использования malloc и memcpy
Здравствуйте! Столкнулся со следующей проблемой. Подробнее в коде: #define BLOCK_SIZE = 16 ......

Мусор
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define n 10 int main() { int a,b,i,q; ...

Мусор в строках
Привет всем!!! Я пишу помехоустойчивый декодер Витерби. Имеется граф 4x32. struct graf { ...

Мусор в переменной
Здравствуйте, есть следующий фрагмент кода: void main() { setlocale(LC_ALL,&quot;&quot;);...


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

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