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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
#1

значение массива теряется - C++

11.12.2013, 16:33. Просмотров 229. Ответов 8
Метки нет (Все метки)

Добрый день. Объясните пожалуйста почему значение массива теряется. И как сделать что бы он все таки вывел правильное значение?
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float mas[2];
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        }
};
 
class b:public a
{
 
    public:
        void fun()
        {
            cout<<mas[1];
        }
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.fun();
        return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 16:33     значение массива теряется
Посмотрите здесь:

Теряется значение в переменной - C++
Всем привет...думаю всем не важно что надо сдавать мне и так далее :D В общем прошу помощи...есть функция, возвращающая номер столбца с...

При передаче указателя в качестве аргумента функции теряется значение - C++
Добрый день. Есть простенькая задачка сделать связанный список. При этом создается первый эелемнт списка с нулевым указателем на...

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение - C++
Работа с массивами:

Замена всех элементов массива, значение которых превышает среднее значение, максимальным элементом - C++
Написать функцию для замены всех элементов массива значение которых превышает среднее значение максимального и минимального элемента...

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение - C++
Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение ...

Теряется точность - C++
Видимо в этой проге теряетмя точность. Не проходит только 1 тест. #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 16:35     значение массива теряется #2
попробуй создать конструкторы для своих колассов хотябы
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 16:44  [ТС]     значение массива теряется #3
так?

Добавлено через 12 секунд
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas;
        a()
        {
            mas=new float[2];
        }
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        }
};
 
class b:public a
{
    public:
        b()
        {
            g=new float [2];
            g[0]=mas[0];
            g[1]=mas[1];
        }
        void func()
        {
            cout<<g[1];
        }
    private:
        float *g;
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 16:50     значение массива теряется #4
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas[2];
 
        a()
        {
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g[0]=mas[0];
            g[1]=mas[1];
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float *g[2];
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
попробуй так
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:04  [ТС]     значение массива теряется #5
тоже не пашет
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 17:08     значение массива теряется #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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float mas[2];
 
        a()
        {
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g[0]=mas[0];
            g[1]=mas[1];
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float g[2];
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
тогда так

Добавлено через 37 секунд
какие ошибки выдавало?
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:17  [ТС]     значение массива теряется #7
и это не работает. Он выводит не правильное значение массива

Добавлено через 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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
 
        float mas[2];
        void tabl()
        {
            mas[0]=7.0;
            mas[1]=8.0;
        }
 
};
 
class b:public a
{
 
    public:
    void fun()
    {
        a::tabl();
        cout<<mas[1];
    }
};
 
int main()
 
{
a ob;
b ob2;
ob.tabl();
ob2.fun();
return 0;
}
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 17:21     значение массива теряется #8
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas;
 
        a()
        {
            mas = new float[2];
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g = mas;
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float *g;
 
 
};
 
int main()
 
{
    b ob2;
    ob2.tabl();
    ob2.func();
 
    return 0;
}
чет я туплю в конце рабочего дня...

Добавлено через 1 минуту
Цитата Сообщение от InSpectr Посмотреть сообщение
и это не работает. Он выводит не правильное значение массива

Добавлено через 6 минут
вот так можно
C++
1
2
3
4
5
6
7
8
9
int main()
 
{
a ob; - лишнее
b ob2;
ob.tabl(); - не от того объекта вызов функции
ob2.fun();
return 0;
}
так
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 17:29     значение массива теряется
Еще ссылки по теме:

Куда теряется точность? - C++
Для примера, есть формула (a+b)3 - a3. В расчетах с хранением промежуточных результатов и без него получаются разные ответы. #include...

Заданы два массива А(5) и И(4). Первым на печать вывести массив, содержащий наибольшее значение. Напечатать также это значение и его порядковый номер - C++
Помогите пожалуйста решить задачу!! Срочно нужна помощь! Общая постановка задачи. Составить программы - одномерные массивы: массивы...

Теряется указатель на переменые в классе - C++
образован двусвязный список. Данные находятся в трех перменныех, посел поступления данных в функцию sAge указатели на перменные типа char...

Заменить элементы массива со значениями в заданном интервале на среднее арифметическое значение массива - C++
В одномерном массиве A (n) заменить элементы меньше заданного K и больше от заданного L на среднее арифметическое значение массива, где 0...


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

Или воспользуйтесь поиском по форуму:
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:29  [ТС]     значение массива теряется #9
спасибо, работает.
Yandex
Объявления
11.12.2013, 17:29     значение массива теряется
Ответ Создать тему
Опции темы

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