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

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

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Динамическое распределение памяти - C++

07.12.2013, 13:08. Просмотров 365. Ответов 3
Метки нет (Все метки)

Здравствуйте! Имеется такая задача (см. вложения).
Помогите составить функцию, использующую операцию new с адресацией, которая помещает массив из двух подобных структур в буфер. Остальное доделаю сам, просто вообще не дружу с динамической памятью.
Заранее спасибо!
Миниатюры
Динамическое распределение памяти  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 13:08     Динамическое распределение памяти
Посмотрите здесь:

Динамическое распределение памяти - C++
Динамическое распределение памяти Ребят выручайте уж совсем плохо с ним:

Динамическое распределение памяти - C++
Помогите,пожалуйста) - расширьте функционал программы за счет возможности введения с клавиатуры размера одномерного массива; -...

Динамическое распределение памяти - C++
Добрый вечер! Помогите пожалуйста! Поставлена такая задача: Разработать программу, которая в матрице размерности n*n меняет местами...

Динамическое распределение памяти - C++
Добрый вечер, помогите пожалуйста разобраться с задачкой!!! Дана действительная квадратная матрица порядка 2n. Получить новую матрицу,...

Динамическое распределение памяти - C++
как писать эту на программе с++ Даны действительные числа . Получить действительную квадратную матрицу порядка n<8, элементами...

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

Динамическое распределение памяти - C++
Дан динамический целочисленный массив y1,y2,....,yn. и и динамическая символьная переменная h. Если значение h равно '+', преобразовать...

Динамическое распределение памяти - C++
Не подскажите , здесь где-то есть ошибка? задача : Даны действительные числа . Получить действительную квадратную матрицу порядка n<8,...

Динамическое распределение памяти - C++
Прошу помощи! Даны действительные числа a1...an2 . Получить действительную квадратную матрицу порядка n<8, элементами которой являются...

Динамическое распределение памяти - C++
Ни разу не работал с динамическим распределением. Объясните пжл, что я сделал не так. Цель - получить большую область памяти (состоящей из...

Динамическое распределение памяти - C++
помогите пожалуйста поправить код!в массиве по заданному индексу удалить элемент (не работает !)...

Динамическое распределение памяти - C++
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
07.12.2013, 14:13     Динамическое распределение памяти #2
CHELOVEKPAUK,
C++
1
chaff *array = new chaff[2];
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
07.12.2013, 20:45  [ТС]     Динамическое распределение памяти #3
Здравствуйте! Задача вот: Динамическое распределение памяти (не дает загрузить картинку).
До сих пор не могу понять полностью понять условие, думаю что сделал что то не так, слишком легко получилось.
Программа работает, и выводит все, что просят:

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 <iostream>
#include <Windows.h>
#include <string>
#include <new>
 
#define rus setlocale(0,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
using std::cout; using std::cin; using std::endl; using std::string;
 
const int ARR = 20;
 
struct chaff
{
    char dross[ARR];
    int slag;
};
 
void show_struct (const chaff &);
void fill_struct (chaff &);
 
int main()
{
    rus;
    chaff* pt = new chaff[2];
    for (int i = 0; i < 2; i++) 
    {
        fill_struct(pt[i]);
        show_struct(pt[i]);
    }
    system("pause");
    delete [] pt;
    return 0;
}
 
void show_struct (const chaff & st)
{
    cout << st.dross << endl;
    cout << st.slag << endl;
}
 
void fill_struct (chaff & st)
{
    cout << "Введите массив char: ";
    cin.getline(st.dross,20);
    cout << "Введите значение int: ";
    cin >> st.slag;
}
Скажите, пожалуйста - я сделал все, что нужно?
Заранее спасибо.

P.S. Помогите составить вариант 2, вариант 1 составлен, а второй вариант не знаю как делать.
Agrik
5 / 5 / 0
Регистрация: 31.03.2013
Сообщений: 120
22.02.2014, 23:04     Динамическое распределение памяти #4
CHELOVEKPAUK, тоже сегодня делал эту задачу... в итоге получилось у меня следующее
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
#include <iostream>
#include <string>
#include <cstring>
#include <new>
const int N=2;
char buffer1[50];
 
struct chaff{
    char dross[20];
    int slag;
};
using namespace std;
void show_struct (const chaff &);
void fill_struct (chaff &);
 
int main()
{
    chaff *p1, *p2;
    struct chaff mstr[2];
    p1= new chaff;
    p2= new (buffer1) chaff;
     for (int i = 0; i < 2; i++) 
    {
        fill_struct(p1[i]);
        show_struct(p1[i]);
    }
 
      for (int i = 0; i < 2; i++) 
    {
        fill_struct(p2[i]);
        show_struct(p2[i]);
    }
 
    system("PAUSE");
    return 0;
} 
 
void show_struct (const chaff & st)
{
    cout << st.dross <<" "<<&st.dross<< endl;
    cout << st.slag <<" "<<&st.slag<< endl;
}
 
void fill_struct (chaff & st)
{
    cout << "Vvedite im'a: ";
    cin.getline(st.dross,20);
    cout << "Vvedite vozrast: ";
    cin >> st.slag;
    cin.sync();
}
судя по разнице адресам между первыми двумя и последними двумя структурами программа составлена правильно... надеюсь на это)
Yandex
Объявления
22.02.2014, 23:04     Динамическое распределение памяти
Ответ Создать тему
Опции темы

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