Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
#1

Преобразование целочисленного конст. массива (инт) в строку - C++

10.10.2011, 22:52. Просмотров 785. Ответов 3
Метки нет (Все метки)

Имеется массив целых чисел, допустим 100 чисел в произвольном диапазоне. Необходимо получить его в качестве параметра, а возвратить необходимо строку, содержащую весь массив. Как это сделать? желательно используя дин. строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2011, 22:52     Преобразование целочисленного конст. массива (инт) в строку
Посмотрите здесь:

Си++, Среднее геометрическое для целочисленного массива. C++
C++ Найти сумму элементов целочисленного массива
Выполнить сортировку целочисленного массива C++
просумировать чётные элементы целочисленного массива C++
C++ Класс - преобразование массива в строку
C++ Разность сумм элементов целочисленного массива
C++ Консольный ввод/вывод целочисленного массива
Сумма элементов неупорядоченного целочисленного массива C++
Удаление элементов из целочисленного одномерного массива C++
Выводит элемент массива типа инт в 16-ой системе счисления C++
C++ Преобразование целочисленного представления дробной части числа в действительное число
C++ Удаление элемента целочисленного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
}{NiM
 Аватар для }{NiM
64 / 64 / 2
Регистрация: 25.11.2009
Сообщений: 283
10.10.2011, 23:18     Преобразование целочисленного конст. массива (инт) в строку #2
В общем, рассказывая алгоритм решения, то один из "красивых" вариантов - используя класс vector
решение таково - заводишь vector<char> и пробегаешь по всему массива на каждой i-й итерации заносишь полученное число нашу строку.
на выходе выдаешь этот вектор. заголовочный файл соответственно <vector>

менее красивый с использованием char* - один такой указатель работает как результирующий, другой как вспомогательный. на i-й операции берешь число, копируешь элементы вспомогательного массива и новое число в вспомогательный массивчик. потом меняешь указатель на результирующий.

третий вариант работа с переменными типа string это визуально кажется проще - просто добавляешь новые элементы в строку и все.
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
10.10.2011, 23:24     Преобразование целочисленного конст. массива (инт) в строку #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <cstddef>
 
std::string int_arr_to_str(int* arr, size_t n)
{
    std::ostringstream stream;
    std::copy(arr, arr + n, std::ostream_iterator<int>(stream));
    return stream.str();
}
 
int main()
{
    const size_t n = 10;
    int arr[n] = {1,2,3,4,5,6,7,8,9,10};
 
    std::string str = int_arr_to_str(arr, n);
    std::cout << str << '\n';
 
    return 0;
}
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
11.10.2011, 22:30  [ТС]     Преобразование целочисленного конст. массива (инт) в строку #4
рванулся реализовывать преобразование типов для класса:
C++
1
2
3
4
5
6
7
operator string()
    {
        string str;
        for(int i=0;i<n;i++)
            str+=mas[i];//поле класса - массив целых чисел
        return str;
    }
при попытке вывести через cout<< выдает адрес. через принтф - нулл, как быть?

Добавлено через 10 минут

Не по теме:

при попытке вывести через cout<< выдает адрес, если возвращать указатель, или не хочет вообще с переменной моего класса работать, через принтф - нулл, как быть?

Yandex
Объявления
11.10.2011, 22:30     Преобразование целочисленного конст. массива (инт) в строку
Ответ Создать тему
Опции темы

Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru