Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 15:33   #1
ИВэТэшка
Пользователь
 
Аватар для ИВэТэшка
 
Регистрация: 01.02.2009
Сообщений: 52
По умолчанию создать массив строк

Добрый день! Подскажите пожалуйста как создать массив строк (тип только string !!!) при следующих условиях:
1) длина строки не определена
2) кол-во строк не определено и пользователь его никогда не введет, т.е. пользователь просто вводит строки и наживает enter, при вводе определенного набора символов программа завершается. Необходимо все что водит пользователь записывать в элементы массива, далее они нужны для работы.
Т.е. следующий код не прокатит
Код:
cout << "Enter N: " << endl;
cin >> N;
string s[N];
Должно быть что-то подобное:
Код:
string *s = new string[???]
но что писать вместо знаков вопросов, Можно создавать такие массивы нулевого размера, т.е. написать ...[0] (разрешено стандартом!!!) но при записи в s[0], s[1], и т.д. ругается и это понятно

подскажите, есть ли какие-нибудь варианты. Спасибо.
Машины должны работать! Люди должны думать!
ИВэТэшка вне форума Ответить с цитированием
Старый 04.12.2011, 16:00   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Вообще-то в C++ для такого случая придумали vector.
Son Of Pain вне форума Ответить с цитированием
Старый 04.12.2011, 18:04   #3
ИВэТэшка
Пользователь
 
Аватар для ИВэТэшка
 
Регистрация: 01.02.2009
Сообщений: 52
По умолчанию

Спасибо, все работает Что-то недогадался сразу
Машины должны работать! Люди должны думать!
ИВэТэшка вне форума Ответить с цитированием
Старый 04.12.2011, 22:19   #4
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Код:
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
#include <iterator>

using namespace std;

int main()
{
	list<string> lst;
	string b;
	while (cin >> b)
	{
		if (b == "break")
			break;
		else
			lst.push_back(b);
	}
	//copy(lst.begin(), lst.end(), ostream_iterator<string>(cout, "\n"));
	system("pause");
	return EXIT_SUCCESS;
}
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать массив строк в массив чисел на C#? orfos Помощь студентам 4 03.10.2014 15:56
Создать макрос сортировки строк ToshaVeric Microsoft Office Excel 2 26.07.2011 22:08
Создать двоичный файл, записать n целых чисел. Из файла создать массив, элементы числа-палиндромы (на C) Simak63 Помощь студентам 0 30.03.2011 21:06
Как создать правильный скрипт, по удалению не нужных строк? wwizard Microsoft Office Excel 5 26.02.2010 18:35