Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
#1

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

11.12.2013, 16:33. Просмотров 256. Ответов 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;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 16:33
Ответы с готовыми решениями:

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

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

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

Вычислить среднеарифметическое значение элементов массива и определить минимальное положительное значение
Необходимо сформировать двумерный массив A(3x9), используя генератор случайных...

Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
Масив целых чисел(розмеры 100) заполнить случайными значениями(диапазон...

8
kot17665
0 / 0 / 1
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 16:35 #2
попробуй создать конструкторы для своих колассов хотябы
0
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;
    }
0
kot17665
0 / 0 / 1
Регистрация: 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;
    }
попробуй так
0
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:04  [ТС] #5
тоже не пашет
0
kot17665
0 / 0 / 1
Регистрация: 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 секунд
какие ошибки выдавало?
0
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;
}
0
kot17665
0 / 0 / 1
Регистрация: 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;
}
так
0
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:29  [ТС] #9
спасибо, работает.
0
11.12.2013, 17:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 17:29

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

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

Теряется точность
Видимо в этой проге теряетмя точность. Не проходит только 1 тест. #include...


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

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

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