Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
#1

Бесконечный массив - C++

03.05.2014, 10:07. Просмотров 2282. Ответов 74
Метки нет (Все метки)

Наверняка тут уже неоднократно спрашивали об этом, но я не смог ничего найти (Ну как всегда, короче), и по этому создал новую тему.
Итак, вопрос: как сделать бесконечный массив? И, желательно, чтоб он был не изначально бесконечный, а расширялся по надобности.
Я так понял, тут от указателей плясать надо, но как ни думал, не допёрло... Плохо думал, видимо.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 10:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бесконечный массив (C++):

Массив структур. Вышел бесконечный цикл - C++
даже если убрать строку i++, всё равно бесконечно выдаёт одно и тоже #include <iostream> #include <string.h> #include <math.h> ...

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

Бесконечный цикл - C++
#include <iostream> #include <climits> bool is_int(double); int main() { using namespace std; double num; cout << "Yo,...

Бесконечный цикл - C++
Задача: Дед Мазай спасает зайцев. На N островках находится некоторое количество зайцев разной массы. Грузоподъемность лодки Мазая...

Бесконечный цикл - C++
Простите что с таким лёгким вопросом, но мистика окутывает мою учёбу всё больше и больше ^^ Тут програмка которая считает сумму каждого...

Бесконечный цикл - C++
void Number(int &K, int &L, int N) { if (K < 0 && K > L && L > N) { cout << "\nВведите границы для исключения элемeнтов из...

74
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,576
03.05.2014, 10:13 #2
WinRar007, как вы себе представляете бесконечный массив?

Добавлено через 2 минуты
А так ,я думаю,вам подойдет контейнер vector.
1
Doctor Nano
Cандальная шляпа
42 / 42 / 10
Регистрация: 12.01.2012
Сообщений: 185
03.05.2014, 10:14 #3
Может через списки сделать?
1
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
03.05.2014, 10:16 #4
WinRar007, сделайте динамический список (однонаправленный, например). Занимались списками?
1
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
03.05.2014, 10:20  [ТС] #5
Занимались списками?
контейнер vector
Мда, я ещё тупее, чем я думал... Нет, не занимался, и что такое "Vector" не знаю.
как вы себе представляете бесконечный массив?
Можно управлять любым количеством элементов (Да, у всего есть границы, но они большие, и мне их хватит)
0
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
03.05.2014, 10:29 #6
WinRar007, суть: список представляет собой кучу элементов, связанных между собой

C++
1
2
3
4
5
struct element
{
    int value; // Здесь хранится значение элемента списка
    element *next; // Указатель на следующий элемент списка
};
Размер при этом само собой не ограничен, можно свободно удалять и добавлять элементы в любое место списка. Советую реализовать вручную, что бы понять принцип работы списков
0
0x10
2479 / 1654 / 248
Регистрация: 24.11.2012
Сообщений: 4,097
03.05.2014, 10:31 #7
Цитата Сообщение от WinRar007 Посмотреть сообщение
Нет, не занимался, и что такое "Vector" не знаю.
http://www.cplusplus.com/reference/vector/vector/

Добавлено через 47 секунд
Цитата Сообщение от TenGen Посмотреть сообщение
Советую реализовать вручную
И вектор тоже. И вообще всю stl...
2
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
03.05.2014, 10:33  [ТС] #8
добавлять элементы в любое место списка
Проблема в том, что если я создаю переменную.
C++
1
int tralala;
То я не смогу создать бесконечность переменных "tralala", ведь я уже создал её. То есть, по сути, бесконечный массив - это тоже не обязательное условие. Мне нужна возможность создавать и создавать переменную одного и того же типа "бесконечно".
0
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
03.05.2014, 10:34 #9
0x10, вы хотите, что бы человек не имел понятия, что вообще представляет из себя список? Хорошо, пусть он думает, что однонаправленный список это "чудесный" вектор из stl, который работает посредством бороды хоттабыча.
0
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
03.05.2014, 10:35  [ТС] #10
С массивом просто удобней обращаться к ним.
0
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
03.05.2014, 10:36 #11
WinRar007, в списке выделяется динамическая память для элемента и она связывается со списком. То есть к цепочке элементов добавляется еще один, в котором хранится нужное число
1
0x10
2479 / 1654 / 248
Регистрация: 24.11.2012
Сообщений: 4,097
03.05.2014, 10:36 #12
TenGen, про "написать все самому" я говорил без иронии. Разве что с небольшим преувеличением.
2
WinRar007
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
03.05.2014, 10:45  [ТС] #13
в списке выделяется динамическая память для элемента и она связывается со списком. То есть к цепочке элементов добавляется еще один, в котором хранится нужное число
О, зря я сюда со своими знаниями полез... Надо почитать, что такое динамическая память...
добавляется еще один
Список-то бесконечный, а элементы бесконечно ты создавать не сможешь.
C++
1
2
3
4
for(int ii = 0; i < 1000; ii++)
{
     int i = 0;
}
Вряд ли после такого цикла у нас будет тысяча переменных типа int.

Добавлено через 2 минуты
Переформулирую вопрос: как бесконечно штамповать переменные и засовывать их в массив?
0
0x10
2479 / 1654 / 248
Регистрация: 24.11.2012
Сообщений: 4,097
03.05.2014, 10:45 #14
Цитата Сообщение от WinRar007 Посмотреть сообщение
Вряд ли после такого цикла у нас будет тысяча переменных типа int.
Не будет, конечно.
В общем, тут правильным шагом будет взять какую-нибудь умную книжку про структуры данных и алгоритмы.
3
TenGen
Будущее рядом
98 / 96 / 20
Регистрация: 06.03.2014
Сообщений: 342
03.05.2014, 10:47 #15
WinRar007, как было у меня
C++
1
2
3
4
for (int i = 0; i < 1000; i++)
{
list.add(i); // Тут функция добавления нового элемента в список, а list - экземпляр класса списка
}
У вас к концу цикла накопится 1000 элементов в списке
1
03.05.2014, 10:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 10:47
Привет! Вот еще темы с ответами:

Бесконечный цикл - C++
Так. Консоль CLR Вод программа: #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &quot;stdio.h&quot; using namespace...

Бесконечный цикл - C++
if (!(cin &gt;&gt; Mas &gt;&gt; Rost)) { cout &lt;&lt; &quot;Ошибка\n&quot;; continue; } В общем при вводе букв начинается бесконечный цикл, а надо...

Бесконечный цикл - C++
Как ввести программу в бесконечный цикл на C++ ? Смотрел видео где делали бесконечный цикл (НО!) это было на Small Basic'е, а мне нужно...

Бесконечный цикл - C++
Задача: Ввести количество камней, ввести вес каждого камня, сложить камни в 2 кучки так чтобы разница между общими массами кучек были...


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

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

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