Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 21.04.2024
Сообщений: 11

Двумерный массив string

24.04.2024, 17:38. Показов 2336. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не могу создать двумерный массив из string-ов, помогите пожалуйста.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.04.2024, 17:38
Ответы с готовыми решениями:

функции. двумерный массив string
доброго времени суток! не понимаю, почему он разрешает ввести на 1 строку меньше положенного. не понимаю, в чём дело... я сначала ввожу...

Вывести двумерный массив с int и string
Здравствуйте, снова задачка с массивами, на этот раз дан двумерный массив в него необходимо вписать 5 учеников, при этом необходимо, чтобы...

Передать в функцию двумерный string массив
Доброго времени суток. Есть указатель на двумерный стринговый массив: string** mas; и ф-я для работы с ним: char* Resize(char**...

37
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
25.04.2024, 18:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Наталья8 Посмотреть сообщение
А тут хренак - массив да ещё двумерный
Прикинь, так можно представить абзац.
Множеством строк.
Или ... человека расплющенного до двумерного...
1
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
25.04.2024, 19:36

Не по теме:

В билдере есть такая штука (аналог "одномерного" массива строк):

TStringList maintains a list of strings.

Use a string list object to store and manipulate a list of strings. TStringList implements the abstract properties and methods introduced by TStrings, and introduces new properties, events, and methods to:

Sort the strings in the list.
Prohibit duplicate strings in sorted lists.
Respond to changes in the contents of the list.
Control whether strings are located, sorted, and identified as duplicates in a case-sensitive or case-insensitive manner.
Добавляем такому объекту "размерность" и получаем двумерный массив строк.



Добавлено через 3 минуты
SmallEvil, строку можно представить как массив символов. То есть имеем трехмерный массив символов.
А абзац - двухмерный массив символов.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
25.04.2024, 21:24
Цитата Сообщение от gunslinger Посмотреть сообщение
В билдере есть такая штука (аналог "одномерного" массива строк):
чяяягодтлнеппмлумаыдттб лояьдсдшлв
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
25.04.2024, 21:27
SmallEvil,
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 01:55
Цитата Сообщение от gunslinger Посмотреть сообщение
строку можно представить как массив символов
Почему он трёхмерный?
В нём нет отдельного обращения к каждому слову.
Просто контейнер для текста в оперативе
(Штука конечно волшебная)
С разными сортировками.
0
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
26.04.2024, 07:07
Наталья8, я имею в виду, что дву(х)мерный массив строк по сути это трехмерный массив символов.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.04.2024, 10:24
Цитата Сообщение от gunslinger Посмотреть сообщение
дву(х)мерный массив строк по сути это трехмерный массив символов
Это если утверждать, что строка является массивом символов. Тут был на форуме холивар на эту тему и я был на стороне тех, кто не считает строку массивом символов. Кстати, единственным аргументом моих противников было то, что к символам в строке можно обращаться по индексу. На этом их аргументы заканчивались.
А вот, несколько моих аргументов, почему строка не является массивом символов:
1) в самой документации string указано, что
The class template basic_string stores and manipulates sequences of char-like objects, which are non-array objects of trivial standard-layout type.
2) typeid().name() строки и массива символов должен быть одинаковым, но это не так
3) элементы массива должны располагаться в непрерывной памяти, однако в стандарте требование
The char-like objects in a basic_string object shall be stored contiguously. That is, for any basic_string object s, the identity &*(s.begin() + n) == &*s.begin() + n shall hold for all values of n such that 0 <= n < s.size().
появилось только начиная с С++11 (basic_string general requirements [string.require], 21.4.1.5)
4) строка хранит не только символы, но и другие данные - size и capacity
1
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 11:39
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if (fin.is_open()){
while (getline(fin, line))// =============== Читаем текст =============== && (int)line[n - 1] == 208
{
    bool repeat(false); ++ln_cout;
        //------------------------------
        char *cut_ptr = &line[0];
        if (*(cut_ptr + 4) == '-' && *(cut_ptr + 35) == '.' && *(cut_ptr + 40) == '0' && *(cut_ptr + 43) == ' ')
        {//Определяем строчку с датой с начала строки
            data = L"";
            std::wstring wsTmp(line.begin(), line.end());
            for (int i = 33; i < 43; ++i)data += wsTmp[i];
            data += L"  ";
        }
Мне по барабану, что там написано.
Обрабатываеться как массив char.
У америкосов есть пословица - если крякает как утка,
выглядит ка утка. Ну и так далее.
0
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
26.04.2024, 11:42
Royal_X, самый-то главный и важный аргумент в том, что нет гарантий, что один элемент std::string - это один символ. Т.е. std::string не вводит концепцию символа в свой интерфейс вообще. Будет ли char-object представлять символ или не будет, зависит вообще от внешних причин, от пожелания пользователя в выборе используемой кодировки. Это для концепции "элемент массива=символ" просто фатально.

Цитата Сообщение от Royal_X Посмотреть сообщение
char-like objects, which are non-array objects of trivial standard-layout type.
Это вообще о другом немного. Здесь сказано, если по-простому, что нельзя параметризовать std::basic_string типом массива.

Цитата Сообщение от Royal_X Посмотреть сообщение
typeid().name() строки и массива символов должен быть одинаковым,
Насчет содержимого name() стандарт вообще ничего не гарантирует. Откуда это "должен"?

В общем, если бы не аргумент даже, а просто факт, что string концептуально не оперирует символами в качестве своих элементов, то я бы тоже с вами спорил, потому что ваши аргументы в основном притянуты за уши.
1
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 11:56



Тыщу строк навалял. Ни кто не поймёт. Сам ни чё не понимаю.
Работает ищет сортирует.
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 12:13
C++
1
2
3
4
5
6
7
8
9
// ==================================== 
    while (getline(fin, msg))//читать в массив построчно пока есть строки
        {
    char *cut_ptr = &msg[0];// Проехать до http в строке из текста
if (one || edit_txt_len)
    while (((cut_ptr = strchr(cut_ptr, 'h')) == NULL || *(cut_ptr + 1) != 't' || *(cut_ptr + 3) != 'p' || *(cut_ptr + 6) != '/'))
            {
                if (cut_ptr == NULL ){
//------------------------------- В этой строке нет интернет адреса.
Добавлено через 1 минуту
Простите... Умных книжек не читал...

Добавлено через 3 минуты
Цитата Сообщение от gunslinger Посмотреть сообщение
массив строк по сути
Работаем как бы не с сутью, а с буквами...
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.04.2024, 12:35
Цитата Сообщение от Наталья8 Посмотреть сообщение
Тыщу строк навалял.
а в чем суть проги?
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 12:53
Pабота с адресами. (упорядочить, подписать, запустить, вставить в буфер.)
=======
Есть ещё одна программа, делающая текст.
Гонит туда текстовый буфер, если он изменился.
То есть адрес не надо ни куда сохранять.
Просто надо скопировать.

Весь мусор собираю.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.04.2024, 13:49
Наталья8, зря прячешь часть скриншота таким образом. Пару манипуляций с изображением и весь текст виден)
0
 Аватар для Наталья8
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,259
26.04.2024, 15:19
Едва ли восполнишь не хватающие данные.
Я работал на фотошопе. Нет там ни чего особенного.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
26.04.2024, 15:23
Наталья8, не переживай, я уже всё прочёл. Честно сказать, не понял, зачем ты вообще спрятал эту часть...(ничего интересного не увидел).
0
26.04.2024, 18:03

Не по теме:

Медаль тебе за это....
Как мастеру компутер сциенце...
Пытался гуглить, что это такое. Ни чего не понял...

0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
27.04.2024, 01:35
Где указано, что массив должен быть динамическим?

C++ (Qt)
1
2
3
4
5
6
    std::string mass[3][3] = {{"abc", "adf", "aer"},
                          {"bgh", "bhk", "btu"},
                          {"cda", "cer", "cop"}};
 
    QString str = QString::fromStdString(mass[1][1]);
    ui->label_01->setText(str);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.04.2024, 01:35

Создать двумерный динамический массив типа String
Мне нужно создать динамический массив типа string с заранее неизвестной размерностью, которая вводится при запуске программы. После чего...

Как двумерный массив char заменить на string?
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { char Str = { &quot;word&quot;, ...

Как отсортировать двумерный массив символов, если длина строк разная?(БЕЗ string, vector)
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;sstream&gt; using namespace std; char* HandMadeStringCin(char*&amp; AString) { int...

Как создать двумерный массив String?
Пробовал так: String *buff = new String; где &quot;pb_2&quot; = int; пишет:

Дан двумерный ступенчатый string массив из которого надо записать уникальные значения в один одномерный массив
пример: List&lt;List&lt;string&gt;&gt; accounts = new List&lt;List&lt;string&gt;&gt;(); accounts.Add(new List&lt;string&gt; { &quot;Andrew&quot;,...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru