powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / массивы
16 сообщений из 16, страница 1 из 1
массивы
    #33801186
укеуке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой тип необходимо написать, чтобы сформировать строковый массив?
...
Рейтинг: 0 / 0
массивы
    #33801197
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, укеуке!

у> какой тип необходимо написать, чтобы сформировать
у> строковый массив?

Не понятно, массив строк ? Или массив символов, символизирующий строку ?
Уникод или анси ?

---------------------
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
массивы
    #33801230
Dostali.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
укеукекакой тип необходимо написать, чтобы сформировать строковый массив?
Попробуй использовать тип AnyCppBook и его статический метод Read
Очень часто помогает...
Ещё есть универсальное ключевое слово RTFM.
...
Рейтинг: 0 / 0
массивы
    #33801282
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
укеукекакой тип необходимо написать, чтобы сформировать строковый массив?

#include <vector>
#include <string>

using namespace std;

typedef vector<string> vec_str;

vec_str array_string[20];

array_string[0] = "пример";
...
Рейтинг: 0 / 0
массивы
    #33801288
Alexey-M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что,
Код: plaintext
1.
2.
char *p =  new char[...] 
...
delete p;
уже не катит ? :)
...
Рейтинг: 0 / 0
массивы
    #33801711
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey-MА что,
Код: plaintext
1.
2.
char *p =  new char[...] 
...
delete p;
уже не катит ? :)

Мля, чуть чаем не подавился ...
Книжку почитай. а ... ?
...
Рейтинг: 0 / 0
массивы
    #33802109
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik укеукекакой тип необходимо написать, чтобы сформировать строковый массив?

#include <vector>
#include <string>

using namespace std;

typedef vector<string> vec_str;

vec_str array_string[20];

array_string[0] = "пример";

гм... Не собирается програмка. Вот эта:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#include <vector>
#include <string>
using namespace std;
int main(char argc, char *argv[])
{
    typedef vector<string>   vec_str;
    vec_str  array_string[ 20 ];
    array_string[ 0 ] = "пример";
    return  0 ;
}
Оно и понятно. Правильней было бы:
Код: plaintext
1.
2.
vector<string> array_string;
array_string.reserve( 20 );
и, соответственно, не
Код: plaintext
array_string[ 0 ] = "пример";
, а
Код: plaintext
array_string.push_back("пример");

Даже в том случае, если первая спорная строка ВЫДЕЛИЛА память, в чем я сомневаюсь, оператор [] обратится к неинициализированному блоку памяти. Вообще стоит на эту тему Саттера почитать.
Вот пример кода, который показывает интересные моменты при работе с векторами:
Код: plaintext
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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
#include <iostream>
#include <vector>

using std::cout;
using std::cerr;
using std::endl;
using std::vector;
void printVector(vector <int> vec);

int main (int argn, char *argv[])
{
    vector <int> ArrayOfInteger;
    vector <int> DstArrayOfInteger;
    cout<<"Резервирую память для ветора\n";
    ArrayOfInteger.reserve( 4 );
    DstArrayOfInteger.reserve( 1 );
    cout<<"Объем занятой памяти "<<ArrayOfInteger.size()<<" позиций по "<<sizeof(int)<<" байт из "<<ArrayOfInteger.capacity()*sizeof(int)<<" байт.\n";
    for(int i= 0 ;i< 10 ;i++)
    {

        ArrayOfInteger.push_back(i);
        cout<<"Объем занятой памяти "<<ArrayOfInteger.size()<<" позиций по "<<sizeof(int)<<" байт из "<<ArrayOfInteger.capacity()*sizeof(int)<<" байт.\n";
    }
    printVector(ArrayOfInteger);

    cout<<"Создаю итераторы\n";
    vector <int>::iterator first, last, cursor, scroller;

    int offset =  3 , items =  2 ;
    cout<<"Требуется удалить "<<items<<" элементов начиная со смещения "<<offset<<"\n";
    first = ArrayOfInteger.begin()+offset;
    last  = ArrayOfInteger.begin()+(offset+items);
    ArrayOfInteger.erase(first, last);
    printVector(ArrayOfInteger);

    cout<<"Требуется удалить "<<offset<<" элементов начиная со смещения "<<items<<"\n";
    first = ArrayOfInteger.begin()+items;
    last  = ArrayOfInteger.begin()+(offset+items);
    ArrayOfInteger.erase(first, last);
    printVector(ArrayOfInteger);

    cout<<"Текущее содержимое DstArrayOfInteger:\n";
    printVector(DstArrayOfInteger);

    first = ArrayOfInteger.begin();
    last  = ArrayOfInteger.end();
    cursor = DstArrayOfInteger.begin();

    while(first<last)
    {
        DstArrayOfInteger.insert(DstArrayOfInteger.begin(), *(first++));
    }
    DstArrayOfInteger.insert(DstArrayOfInteger.begin()+ 2 , - 1 );
    cout<<"Содержимое DstArrayOfInteger после копирования:\n";
    printVector(DstArrayOfInteger);
    cout<<"Поиск "<<(*find(DstArrayOfInteger.begin(), DstArrayOfInteger.end(), - 1 ))<<"\n";

}

void printVector(vector <int> vec)
{
    vector <int>::iterator iterator;
//    cout<<"Содержимое вектора:\n";
    for (iterator = vec.begin(); iterator != vec.end(); ++iterator) cout<<(*iterator)<<"\n";
    return;
}
...
Рейтинг: 0 / 0
массивы
    #33802137
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, в приведенном примере тоже есть гм... ошибки? или недоработки?
В частности в строке while(first<last). Стандарт не гарантирует, что записи
в массиве расположены последовательно. Правильней будет while(first != last)
...
Рейтинг: 0 / 0
массивы
    #33802316
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а разве не проще:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
char** strings;
//стартовая инициализация
strings = new char*[num_strings];
for (int i = 0; i < num_strings; i++){
    strings  = 0;//шоб delete[] не вылител, если что...
}

....


//уничтожение
for (int i = 0; i < num_stirngs; i++){
    delete[] strings;
}

delete[] strings;
 

????
...
Рейтинг: 0 / 0
массивы
    #33802599
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErVа разве не проще???
Ну на вкус и цвет как говорится.
Если решаемая задача не умещается в пределах десятка строк, то не проще. И на этапе отладки и на этапе написания. ИМХО естественно. Больше всего нравится автоматическое освобождение памяти да и защиту от дурака можно проще писать. В общем попробуйте - наверняка понравится.
А ловить откуда память течет при аварийном выходе - муторное занятие.
...
Рейтинг: 0 / 0
массивы
    #33803081
Alexey-M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZrenBy, какую ? ;)
...
Рейтинг: 0 / 0
массивы
    #33803130
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey-MZrenBy, какую ? ;)

Ну не Снегова же, наверное ;)
...
Рейтинг: 0 / 0
массивы
    #33803660
Guest_11111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так часто встречаю это слово - а че такое "ИМХО" ?
...
Рейтинг: 0 / 0
массивы
    #33803682
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest_11111так часто встречаю это слово - а че такое "ИМХО" ?
ИМХО, такие вопросы лучше в Гугле задавать, а не на форуме.
...
Рейтинг: 0 / 0
массивы
    #33803786
Guest_11111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вот всё равно ж ответ писал! походу можноб былоб и ответить :)
...
Рейтинг: 0 / 0
массивы
    #33804248
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest_11111так часто встречаю это слово - а че такое "ИМХО" ?
IMHO - In My Humble Opinion
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / массивы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]