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

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

Войти
Регистрация
Восстановить пароль
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
#1

Развернуть динамический массив - C++

03.10.2012, 22:03. Просмотров 698. Ответов 11
Метки нет (Все метки)

Как правильно инициализировать динамический массив, а потом сделать так чтоб пользователь мог вводить значение каждого елемента массива? Потом етот массив развернуть(не простой командой, а с помощю циклов: вывести все елементы в стек, а потом вернуть назад, но так чтоб последний елемент зашевший в стек стал на первое место массива).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 22:03     Развернуть динамический массив
Посмотрите здесь:

Развернуть одномерный массив на 180 градусов - C++
Развернуть одномерный массив на 180 градусов без использования if.

Char массив, развернуть отдельные слова - C++
Здравствуйте, Подскажите пожалуйста, мне нужно в предложении все слова развернуть в обратном порядке, но следование данных слов должно...

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

Развернуть массив, не используя дополнительные массивы и переменные - C++
Насколько я понял из условия, может быть только 1 цикловая переменная и 1 массив... Довольно долго думал над этим вопросом, так ничего...

динамический массив - C++
int *f = new int(); ... delete f;//вот здесь прерывается Почему прерывается ?

Динамический массив - C++
Всем доброго времени суток, столкнулся с такой проблеммой, в программе использовал статические двумерные массивы a, но на определенном...

Динамический массив - C++
Не сталкивался с таким, подскажите что делать, может у кого код есть на такое задание, вот само задание: Создать массив данных...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
03.10.2012, 22:05     Развернуть динамический массив #2
Инициализация:
C++
1
int *arr = new int[100]; // массив integer из 100 элементов
про остальное не совсем понял, что нужно сделать
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
03.10.2012, 22:08  [ТС]     Развернуть динамический массив #3
надо создать массив из n елементов(n задает пользователь), потом его надо "развернуть". токо надо ето через цикл сделать, типа переместить все елементы в стек(там чтото связано с последний зашел-первый вышел), а потом обратно в массив.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.10.2012, 22:09     Развернуть динамический массив #4
Давайте по порядку. Пронумеруйте свои вопросы что ли.
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
03.10.2012, 22:11     Развернуть динамический массив #5
ozzy_b,
"Последний зашел - первый вышел"
LIFO

Добавлено через 1 минуту
А стек нужно сымитироватьс помощью массива чтоле?
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
03.10.2012, 22:12  [ТС]     Развернуть динамический массив #6
вот одним словом условие задачи: "Перевернуть массив, т.е. записать первый элемент на месте последнего i т.д.". ето задача из дисциплины "Алгоритмы и структура даных", но кроме блок-схемы(где надо для всего етого использовать циклы) надо написать код(либо псевдо, либо с++).
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
03.10.2012, 22:34     Развернуть динамический массив #7
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
#include <iostream>
using namespace std;
int main()
{
    system("chcp 1251");
 
    cout << "n = ";
    int n;
    cin >> n;
    int * ar = new int[n];
    cout << "Зполните массив:\n";
    for (int i = 0; i < n; i++)
    {
        cout << i + 1 << ": ";
        cin >> ar[i];
    }
 
    int temp;
    int i, j;
 
    for (j = 0, i = n - 1; j < i; --i, ++j)
    {
        temp = ar[i];
        ar[i] = ar[j];
        ar[j] = temp;
    }
 
    for (int k = 0; k < n; k++)
        cout << ar[k] << " ";
 
    cout << endl;
 
        delete [] ar;
 
    system("pause");
    return 0;
}
если я правильно понял.в программе сначала задаете размер массива, а потом вводите его значения.после программа переворачивает массив и выводит его на экран.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.10.2012, 22:36     Развернуть динамический массив #8
C++
1
2
3
4
5
6
for (int i = 0, end = array_size/2; i < end; ++i)
{
   int temp = array[i];
   array[i] = array[array_size-1-i];
   array[array_size-1-i] = temp;
}
опоздал)
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
03.10.2012, 22:42  [ТС]     Развернуть динамический массив #9
ну теперь с самим массивом разобрался, но вот само "разворачивание не очень понял"(( да и что значит 5 строка?
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
03.10.2012, 22:51     Развернуть динамический массив #10
сначала мы присваиваем временной переменной последний элемент
C++
1
temp = ar[i];
затем последней ячейке присваиваем первый элемент
C++
1
ar[i] = ar[j];
а потом первой ячейке последний элемент (он хранится в temp)
C++
1
ar[j] = temp;
когда цикл делает вторую проходку,то происходит работа уже не с первым и последним элементом, а с вторым и предпоследним и т.д.
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
03.10.2012, 22:54  [ТС]     Развернуть динамический массив #11
а почему в цикле і=n-1?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 23:09     Развернуть динамический массив
Еще ссылки по теме:

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

Динамический массив - C++
для каждого массива определить минимальный по модулю элемент и количество положительных элементов массива расположенных ЗА ним. а он...

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

Динамический массив - C++
Здравствуйте, мне необходимо создать массив, который будет в течение работы программы в размерах уменьшаться или увеличиваться. Как это...

Динамический массив - C++
Доброе время суток) Я почти полный нуб :sorry: , поэтому сразу прошу прощения :sorry: Я хочу создать такой массив, размер которого...


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

Или воспользуйтесь поиском по форуму:
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
03.10.2012, 23:09     Развернуть динамический массив #12
потому что нумерация в массиве начинается с нуля, а поскольку элементов n и нумерация с нуля, то i пробегает по значениях с 0 до n - 1
Yandex
Объявления
03.10.2012, 23:09     Развернуть динамический массив
Ответ Создать тему
Опции темы

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