С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 4
1

Как записать данные из одномерного массива в двумерный?

23.07.2016, 16:02. Показов 2550. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста новичку, как записать данные из одномерного массива в двумерный? уже голову ломаю 2 недели...

Есть вот такой фрагмент кода, который выполняет действия: ищет в файле "с:\111.txt" текст "тест" и заменяет на "тест2"

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (fgets(str, 255, file) != NULL)
{
    char str[255] = { 0 };
            char* tmp_ptr = strstr(str, stf);
            while (tmp_ptr != NULL)
            {
                char tmp_str[255];
                strcpy(tmp_str, tmp_ptr + strlen(stf));
                strcpy(str + strlen(str) - strlen(tmp_ptr), rtf);
                strcat(str, tmp_str);
                tmp_ptr = strstr(str, stf);
            }
//тут функция стоит по записи результата строки str в файл "с:\222.txt"
}
Но так мне нужно найти и заменить не одно слово,а 6 слов. Поэтому я пытаюсь вставить этот цикл в функцию и вызывать эту функцию по параметрам из 6 функций с моими данными аргументами. А в место комментария пытаюсь влепить запись типа двумерного массива (например так (это пример, есть синтакситечкие ошибки): tmp_str2[h][0] = str или strcpy(tmp_str2[h][0], str) //уже сколько вариантов не перепробывал, даже и с указателями... все раввно не могу передать данные Из Одномерного в Двумерный... (наборот получается, а так нет..), который временно хранит обработанные данные и передает эти данные следующей функции
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2016, 16:02
Ответы с готовыми решениями:

Записать данные из одномерного массива в двумерный
есть одномерный массив. нужно записать данные с одномерного массива в двумерный. как это сделать ??

Записать элементы одномерного массива в двумерный по алгоритму
Создал одномерный массив заполнил его числами от 1 до 15: const int vershini = 4, uzli...

Распределить данные из одномерного массива в двумерный
$k = 0; for ( $i = 0 ; $i < getrec() ; $i++ ){ for ( $j = 0 ; $j < 2 ; $j++){ $tovary =...

Как из одномерного массива сделать двумерный?
Здравствуйте, подскажите пожалуйста, как сделать например из такого массива 0 1 0 2 0 2 0 1 2 0 1...

2
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
23.07.2016, 16:55 2
Лучший ответ Сообщение было отмечено Андрей1986 как решение

Решение

В чем проблема?
C++
1
vector<string> v = {"слово1","слово2","слово3","слово4","слово5","слово6",};
Делаешь разные фигни с файлом, читаешь слово s.
C++
1
2
3
4
5
6
string s;
for (int i=0;i<v.size();++i)
     if (v[i] == s)
         заменяю
     else
         не заменяю
Если каждое из 6 слов надо заменить на разное, то делаешь вектор из элементов pair.
1
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 4
23.07.2016, 21:56  [ТС] 3
спасибо за пример. Благодаря этой идеи начал активно работать с типом string под свой пример кода. До этого с типом string не получалось и баловался указателями (потом понял свою ошибку). С вектором была проблема с выделением памяти и приходилось указывать пустые скобки "" (пошел простым путем без векторов: string v[55])

Добавлено через 14 минут
может кому-то поможет готовый вариант решения моего вопроса:
string v[55] //объявил массив
в место комментария добавил v[h] = str; //записывает каждую строчку указателя str во временный массив v, чтобы выполнять над одной стройкой цикл обработки замен слов
strcpy(str, v[h].c_str()) //для обратной записи в str для цикла замен
#include <string> //заголовок для того, чтобы можно было тип string массива отобразить в потоке cout (использовал в качестве просмотра результата записей)
fwrite(str, 1, strlen(str), file2) //конечный результат для записи в файл
0
23.07.2016, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2016, 21:56
Помогаю со студенческими работами здесь

Как из одномерного массива сформировать двумерный?
например 1 2 3 4 5 6 7 8 9 10 11 12, =&gt; 1 2 3 4 5 6 7 8 9 10 11 12

Как перенести с одномерного массива в двумерный
есть текст аровропаимагнкнопрппа Нужно чтоб каждый 5 елемент переносился на новую строку ВОт так:...

Как записать данные из файла в двумерный массив?
Дан файл координат вершин ломаной линии на плоскости. Определить, имеет ли ломаная линия...

Как данные из файла записать в двумерный массив?
Итак, проходят соревнования по стрельбе. Участников 3 человек. Происходит оно в несколько кругов....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru