21.05.2008, 05:36
общий
это ответ
Здравствуйте, Sashka!
Комментированный код в приложении. А вот <a href=http://www.codenet.ru/progr/cpp/spr/263.php>справка по функции itoa</a> (©<a href=http://www.codenet.ru>www.codenet.ru</a>).
Приложение:
#include <cstdlib>
#include <deque>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
//Количество начальных строк
int n = 5;
//Дек для строк
deque<string> strings;
//Размер буфера для преобразования числа в строковое представление
const int buffer_size = 16;
//Буфер для преобразования числа в строковое представление
char buffer[buffer_size];
cout << "Initial strings:" << endl << endl;
//Заполнение массива начальными строками и их вывод
for(int i=0; i<n; i++) {
//Формирование строки
string str = "Initial string #";
//Добавляем номер строки
str += itoa(i+1, buffer, 10);
//Заносим в конец дека
strings.push_back(str);
//Выводим на экран
cout << strings[i] << endl;
}
//Количество добавляемых строк
int k;
//Ввод количества добавляемых строк
cout << endl << "Input k:";
cin >> k;
//Добавление строк к деку
for(int i=0; i<k; i++) {
//Формирование строки
string str = "Added string #";
//Добавляем номер строки
//(т.к. добаляем в начало то номер k-i для сохранения возрастания номера)
str += itoa(k-i, buffer, 10);
//Заносим в начало дека
strings.push_front(str);
}
//Выводим все элементы дека
cout << endl << "Initial and added strings:" << endl << endl;
for(int i=0; i<n+k; i++)
cout << strings[i] << endl;
return 0;
}