14 / 14 / 4
Регистрация: 30.10.2012
Сообщений: 463
1

Вывести массив, заданный в классе

03.03.2015, 21:55. Показов 1210. Ответов 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
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
 
class Set 
{
private: 
    int a[16];
public: 
    
    void setSet() 
    {
       int a[16]={ 5,  9, 10, 0,  -9,-12,  11, -15 }; 
    }
    void getSet() 
    {
        cout << "Mas: " << a[16] << endl;
    }
}; 
 
int main(int argc, char* argv[])
{
  
    Set objSet; 
    objSet.getSet();
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2015, 21:55
Ответы с готовыми решениями:

Вывести массив, заданный в классе
у меня почему то не выводит массив, я не пойму почему, если ввести вместо і номер какого то из...

Сожмите заданный массив, выбросив каждый второй элемент массива. Вывести на экран заданный и новый массив
Сожмите заданный массив, выбросив каждый второй элемент массива. Вывести на экран заданный и новый...

В одном классе нужно создать массив, а в классе program его вывести. "Не все ветви кода возвращают значение"
В одном классе нужно создать массив, а в классе program его вывести, помогите, как разобраться ...

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

8
7529 / 6394 / 2914
Регистрация: 14.04.2014
Сообщений: 27,855
03.03.2015, 22:47 2
Лучший ответ Сообщение было отмечено qwer1234 как решение

Решение

C++
1
2
3
4
5
    void setSet() 
    {
       int b[16]={ 5,  9, 10, 0,  -9,-12,  11, -15 };
       memcpy(a, b, sizeof(b));
    }
1
28 / 28 / 5
Регистрация: 23.04.2014
Сообщений: 130
04.03.2015, 00:09 3
qwer1234, ты вызываешь объект, внутри которого неинициализированный массив. Сначала вызови setSet(), а уж потом getSet()
и ещё не надо два раза указывать тип поля
C++
1
2
3
4
void setSet
{
    a = { 5,  9, 10, 0,  -9,-12,  11, -15 }; 
}
Добавлено через 1 час 17 минут
да, я написал нерабочий код) предыдущий смотри
1
14 / 14 / 4
Регистрация: 30.10.2012
Сообщений: 463
04.03.2015, 17:40  [ТС] 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
#include "stdafx.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
class Set 
{
private: 
    int a[7];
public: 
    
    void setSet() 
    {
       int b[7]={ 1, 2, 3, 4, 5, 6, 7};
       memcpy(a, b, sizeof(b));
    }
    void getSet() 
    {
        cout << "Mas: " << a[7] << endl;
    }
}; 
 
int main(int argc, char* argv[])
{
  
    Set objSet; 
    objSet.getSet();
    system("pause");
    return 0;
}
0
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
04.03.2015, 17:47 5
void setSet() не вызывался ни разу. В getSet выводится 8 элемент, хотя в масиве их только 7.
0
14 / 14 / 4
Регистрация: 30.10.2012
Сообщений: 463
04.03.2015, 19:14  [ТС] 6
MakeEasy, так как я не понял о чом вы, то можно кодом?
0
Модератор
Эксперт С++
13245 / 10387 / 6210
Регистрация: 18.12.2011
Сообщений: 27,785
04.03.2015, 19:19 7
C++
1
2
3
4
5
6
7
8
9
int main()
{
  
    Set objSet; 
    objSet.setSet();
    objSet.getSet();
    system("pause");
    return 0;
}
0
Диссидент
Эксперт C
27497 / 17185 / 3784
Регистрация: 24.12.2010
Сообщений: 38,708
04.03.2015, 19:20 8
a[7] - за границами массива.
Окромя того массив a не инициализирован и там действительно находится
Цитата Сообщение от qwer1234 Посмотреть сообщение
фиг пойми что
Оно же и выводится. (Даже не оно, а нечто за пределами массива).
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
04.03.2015, 19:22 9
Цитата Сообщение от qwer1234 Посмотреть сообщение
так как я не понял о чом вы, то можно кодом?
Чего тут не понять-то?
C++
1
cout << "Mas: " << a[7] << endl; // в массиве а нет элемента с индексом 7.
Чтобы вывести массив - напиши цикл по его элементам.
Перед вызовом objSet.getSet(); надо хотя бы раз вызывать
C++
1
objSet.setSet();
Инициализация должна ведь как-то выполниться. Лучше такие дела помещать в конструктор класса, чтобы не забывать вызвать.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
а нечто за пределами массива
нечто за пределами фиг пойми чего :)

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2015, 19:22
Помогаю со студенческими работами здесь

Вывести заданный массив на экран
Составить программу которая создаёт и выводит на экран массив такого вида: 0000000 1000001...

Заданный целочисленный массив вывести лесенкой
Заданный целочисленный массив вывести лесенкой, как показано в примере. Входные данные: В...

Вывести заданный список с экрана в массив записей
Дан список, содержащий N записей (N100) следующей структуры

Вывести заданный массив на экран в виде таблицы
В одномерном массиве данные размещены парами: в первых элементах значения аргумента, во вторых –...


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

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

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