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

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

Войти
Регистрация
Восстановить пароль
 
Binary Mind
2 / 2 / 0
Регистрация: 12.02.2014
Сообщений: 57
#1

Создание структур содержащие переменные - C++

15.02.2014, 08:30. Просмотров 330. Ответов 10
Метки нет (Все метки)

Доброе время суток, подскажите пожалуйста, как можно и вообще можно ли создать структуру, которая содержит переменную. Например что - то типа этого

C++
1
2
3
4
5
6
struct sss
{
    int array[x];
    int matrix[y][z];
};
// где x, y и z вводятся пользователем
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 08:30     Создание структур содержащие переменные
Посмотрите здесь:

Создание структур - C++
Создайте структуру, в которой поля соответствуют действительной и мнимой частям комплексного числа. Структура содержит функции для ввода...

Создание многофайловых структур - C++
Даны символьные файлы f и g . Записать в файл h сначала компоненты файла f, затем - компоненты файла g с сохранением порядка. ...

Создание стека структур - C++
Как мне объявить стек структур с помощью <stack> ? Я создал структуру и хотел сделать стек таких структур, но почему-то у меня не...

Создание массива массивов структур с++ - C++
Здравствуйте! Подскажите, пожалуйста, возможно ли создание массива (известной длинны), элементами которого должны стать массивы структур...

Создание массива структур посредствам оператор new - C++
#include <iostream> #include <string> struct car{ std::string producer; int production_year; }; int main() { ...

Преобразование кода в ряд структур, создание динамического массива - C++
Здравствуйте, у меня вопрос, как данный ниже код можно преобразовать в структурах, чтобы массив был динамическим #include "stdafx.h" ...

Создание программы с использованием собственных функций. Использование массивов и структур - C++
Здравствуйте! Помогите, пожалуйста, решить задачу. Вот текст: Существует 3 категории учеников: отличник, хорошист, двоечник. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zvoronz
271 / 238 / 21
Регистрация: 29.05.2012
Сообщений: 889
15.02.2014, 09:00     Создание структур содержащие переменные #2
Так легко всё не получится. Нужно использовать указатели и динамическое выделение памяти.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
15.02.2014, 10:38     Создание структур содержащие переменные #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
struct sss
{
int x,y,z;
int *array, **matrix;
sss(int x0,int y0,int z0):x(x0),y(y0),z(z0)
{
     array=new int[x];
     matrix=new int*[y];
     for(int i=0;i<y;i++)
           matrix[i]=new int[z];
}
~sss()
{
    delete[] array;
    for(int i=0;i<y;i++)
       delete[] matrix[i];
    delete[] matrix;
};
int main()
{
   sss ar1(2,3,4);
};
Binary Mind
2 / 2 / 0
Регистрация: 12.02.2014
Сообщений: 57
16.02.2014, 02:26  [ТС]     Создание структур содержащие переменные #4
zss, в ~sss не закрыл тело , а так всё работает. Большое Спасибо, выручил!!!

Добавлено через 27 минут
Ещё один вопрос возник, структура есть, а как создать массив из этой структуры?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
16.02.2014, 10:27     Создание структур содержащие переменные #5
Цитата Сообщение от Binary Mind Посмотреть сообщение
а как создать массив из этой структуры?
C++
1
2
3
sss ar1[10];
int n=10;
sss *pa=new sss[n];
Binary Mind
2 / 2 / 0
Регистрация: 12.02.2014
Сообщений: 57
16.02.2014, 12:37  [ТС]     Создание структур содержащие переменные #6
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
sss ar1[10];
int n=10;
sss *pa=new sss[n];
не получается
, он требует аргументы для sss
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
16.02.2014, 13:07     Создание структур содержащие переменные #7
Цитата Сообщение от Binary Mind Посмотреть сообщение
не получается
, он требует аргументы для sss
потому что конструктор с аргументами, попробуйте сделать подобно этому
C++
1
2
3
4
MyClass **myVar;
myVar = new MyClass *[num];
for(i = 0;i < num;i++)
   myVar[i] = new MyClass(0,0);
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
16.02.2014, 13:35     Создание структур содержащие переменные #8
Megabar, или можно plаcement new использовать!
Binary Mind
2 / 2 / 0
Регистрация: 12.02.2014
Сообщений: 57
16.02.2014, 15:11  [ТС]     Создание структур содержащие переменные #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
можно plаcement new использовать!
Kuzia domovenok, это как, можно пример?
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
16.02.2014, 16:07     Создание структур содержащие переменные #10
Зачем делать проблемы на пустом месте:
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
class sss
{
public:
int x,y,z;
int *array, **matrix;
sss():x(3),y(3),z(3)   // конструктор по умолчанию
{
     array=new int[x];
     matrix=new int*[y];
     for(int i=0;i<y;i++)
           matrix[i]=new int[z];
}
void resize(int x0,int y0,int z0)// изменение размеров
{
    x=x0,y=y0,z=z0;
    delete[] array;
    array=new int[x];
    for(int i=0;i<y;i++)
        delete[] matrix[i];
    delete[] matrix;
    matrix=new int*[y];
    for(int i=0;i<y;i++)
          matrix[i]=new int[z];
}
sss(int x0,int y0,int z0):x(x0),y(y0),z(z0)
{
     array=new int[x];
     matrix=new int*[y];
     for(int i=0;i<y;i++)
           matrix[i]=new int[z];
}
~sss()
{
    delete[] array;
    for(int i=0;i<y;i++)
       delete[] matrix[i];
    delete[] matrix;
}
};
int main()
{
   sss ar1[10];
   for(int i=0;i<10;i++)
       ar1[i].resize(i+1,i+1,i+1);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 01:51     Создание структур содержащие переменные
Еще ссылки по теме:

Найти слова, содержащие букву “s” - C++
ребята,помогите пожалуйста с выполнением заданий.совсем недавно пришел с армии(8 дней),на покупку денег нету:(может тут кто откликнется с...

Найти слова, содержащие букву “d” - C++
Найти слова, содержащие букву “d”

Вывести предложения содержащие запятые - C++
Надо написать программу которая выводит на экран только те предложения, которые содержат запятые. я написал программу. ...

Вывести предложения, не содержащие запятых - C++
Файлы Помогите, пожалуйста. Надо написать программу, которая считывает текст из файла и выводит на экран только предложения, не...

Напечатать слова содержащие по одной цифре - C++
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В...


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

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
17.02.2014, 01:51     Создание структур содержащие переменные #11
C++
1
2
3
4
5
6
7
8
9
10
11
int i, n=10;
int param1=20, param2=30;
sss* arr1=operator new(n*sizeof(sss));
for (i=0; i<n; ++i)
  new(&arr1[i])sss(param1, param2);
 
//работа с массивом
 
for(i=0; i<n; ++i)
  arr1[i].~sss();
operator delete(arr1);
Yandex
Объявления
17.02.2014, 01:51     Создание структур содержащие переменные
Ответ Создать тему
Опции темы

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