Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/64: Рейтинг темы: голосов - 64, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 84

Перевод массива чисел в строку

11.03.2016, 20:03. Показов 12522. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Уже очень долго копаюсь в проблеме.
Надо перевести массив в string.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
double *Arr = new double;
Arr[0]=3;
Arr[1]=2;
Arr[2]=4;
Arr[3]=5;
for(i=0; i<4; i++)
        {
        cout << Arr[i] << endl;
        }
        cout << "\nV" << endl;
        cout << "V" << endl;
        cout << "V" << endl;
        cout << "V\n" << endl;
        ??????????????
return 0;
}
Буду очень благодарен за помощь!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2016, 20:03
Ответы с готовыми решениями:

Перевод массива чисел в строку
Помогите разобраться, почему не получается перевод из массива чисел в строку :) char shfrtx; for(i=0; i&lt;num; i++) { //shfrtx =...

перевод из чисел в строку
Доброго дня/ночи ! :) У меня такая проблема Нужно, что бы в таблице при вводе чисел в столбец а в столбце b было число написано...

перевод отрицательных чисел в строку
мне нужно,что бы и отрицательные числа переводились,помогите кто чем может вот что у меня получилось для положительных,все прекрасно...

21
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 20:49
Лучший ответ Сообщение было отмечено Bullet_VIP как решение

Решение

Bullet_VIP, Могу ошибаться...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
using namespace std;
int main()
{
    double *Arr = new double;
    Arr[0]=3;Arr[1]=2;Arr[2]=4;Arr[3]=5;
    for(int i=0; i<4; i++){
    string s_str = to_string(Arr[i]);
    cout<<s_str<<" ";}
 
    system("pause");
    return 0;
}
Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
int main()
{
    double *Arr = new double;
    string s_str;
    Arr[0]=3;Arr[1]=2;Arr[2]=4;Arr[3]=5;
    for(int i=0; i<4; i++)
    s_str += to_string(Arr[i]);
    
    cout<<s_str;
    cout<<endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 14.10.2015
Сообщений: 84
11.03.2016, 21:01  [ТС]
Cadr, Спасибо, 1-ый способ помог! Очень благодарен =)
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:05
Bullet_VIP, А второй?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:11
C++
1
2
3
for(int i=0;i<4;++i)
    cout<<char(Arr[i]+'0');
cout<<endl;
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:13
Renji,
Цитата Сообщение от Renji Посмотреть сообщение
for(int i=0;i<4;++i)
* * cout<<char(Arr[i]+'0');
cout<<endl;
А при чем здесь
C++
1
char
Цитата Сообщение от Bullet_VIP Посмотреть сообщение
Надо перевести массив в string.
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:15
Цитата Сообщение от Cadr Посмотреть сообщение
А при чем здесь
Без char будет печатать коды символов. Ок, поправка:
cout<<char(Arr[i]+'0'); str.push_back(Arr[i]+'0');
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:25
Renji, На счет char понятно, Не уловил мысли str.push_back(Arr[i]+'0');, поясните...
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:27
Цитата Сообщение от Cadr Посмотреть сообщение
Renji, На счет char понятно, Не уловил мысли str.push_back(Arr[i]+'0');, поясните...
C++
1
2
3
4
std::string str;
for(int i=0;i<4;++i)
    str.push_back(Arr[i]+'0');
cout<<str<<endl;
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
11.03.2016, 21:27
Cadr, push_back - функция для добавления элементов в конец контейнера.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:32
sab1ch, Renji, Догнал

Добавлено через 2 минуты
Renji, А вывод из контейнера?
C++
1
2
for (auto s : str)
    cout<<s<<" ";
но вывод в int... Или я что-то не догоняю?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:33
Цитата Сообщение от Cadr Посмотреть сообщение
Renji, А вывод из контейнера?
Еще раз - cout<<str<<endl;.
0
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
11.03.2016, 21:33
Цитата Сообщение от Cadr Посмотреть сообщение
C++
1
2
for(int i=0; i<4; i++)
   s_str += to_string(Arr[i]);
При += строка не добавляется, а создаётся новая в которую копируется две. Это очень долго. Для таких вещей есть std::stringstream

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
#include <iostream>
#include <sstream>
#include <vector>
 
int main() {
  std::vector<int> arr = { 1, 2, 4, 8, 16, 32, 16 };
 
  std::stringstream ss;
  for(int i=0; i<arr.size(); ++i)
    ss << arr[i] << ' ';
 
  std::string str = ss.str();
  std::cout << str << '\n';
 
  return 0;
}
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
11.03.2016, 21:35
Cadr, зачем for, это же обычная строка.
1
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:35
Цитата Сообщение от AlexVRud Посмотреть сообщение
При += строка не добавляется, а создаётся новая в которую копируется две.
Откуда дровишки? operator+= никому не обязан быть реализован через operator+.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
11.03.2016, 21:35
Cadr, string по сути такой же контейнер, как вектор, массив и т.д., так что диапозонный цикл for работает, но т.к. string - строка, на одной итерации цикла i присваивается 1 символ из строки, так что гораздо выгоднее по производительности просто вывести строку std::cout << str;
1
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:36
Renji, Идет преобразование в int?
Цитата Сообщение от Renji Посмотреть сообщение
Сообщение от Cadr
Renji, А вывод из контейнера?
Еще раз - cout<<str<<endl;.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
11.03.2016, 21:37
Cadr, в какой int? Где?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
11.03.2016, 21:39
sab1ch,
Цитата Сообщение от sab1ch Посмотреть сообщение
Cadr, зачем for, это же обычная строка.
Тупанул)

Добавлено через 1 минуту
sab1ch,
Цитата Сообщение от sab1ch Посмотреть сообщение
Cadr, в какой int? Где?
Массив задан в double, вывод 3 2 4 5 из контенера, не должно разве быть 3.00000 2.000000 и т.д?
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
11.03.2016, 21:43
Цитата Сообщение от Cadr Посмотреть сообщение
Renji, Идет преобразование в int?
Какое нафиг преобразование? Стринг - массив символов. Символ в C++, это его код ('a' считается за число). В push_back этот самый код вычисляется, в cout все полученные символы печатаются.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2016, 21:43
Помогаю со студенческими работами здесь

Перевод массива в строку
Как перевести массив в строку подскажите пожалуйста хоть какой метод)

Перевод массива символов в строку
День добрый. Есть некая строка символов:(Event:AM_READER|1.46.46|ACCESS_IN|card&lt;ччччч&gt;,slave_id&lt;чччччL&gt;, ...

Перевод массива вводимых чисел в массив чисел в другой системе счисления
Доброго времени суток, предлагается оказать помощь студенту новичку) Есть пример реализации этого в ехе файле но как это запрограммировать...

Перевод массива байт в строку и обратно
Здравсвуйте, в результате шифрования есть некоторая последовательность байт. Как преобразовать эту последовательность в строку...

Перевод двумерного массива по символьно в строку
Здравствуйте, подскажите пожалуйста, как двумерный массив вывести на экран построчно.. уже всё обыскал и ничего не нашёл.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru