Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
cleverson1
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
1

Преобразование строки в массив, массива в строку

02.03.2017, 19:26. Просмотров 861. Ответов 7
Метки нет (Все метки)

Здраствуйте, не могу сообразить как правильно выполнить задание:
"Создать два класса: строка и массив. При преобразовании строки в массив выбрать только цифры и записать их в массив. При преобразовании из массива в строку сформировать случайным образом строку длинной, равной сумме цифр элементов массива."
Вот на чем я остановился:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
using namespace std;
 
class massiv;
class stroka
{
    string a[100]
public:
    void vvod()
    {
        cout<<"Введите строку: "<<endl;
        cin>>a;
    }
    void vivod()
    {
        cout<<a<<" "<<endl;
    }
    friend void srv (stroka,massiv);
};
 
    class massiv
    {
        int p[100];
        int n;
    public:
  void vvod()
  {
      cout<<" Ведите массив n: ";
      cin>>n;
      for (int i=0;i<n;i++)
        p[i]=(double(rand())/RAND_MAX)*20-10;
  }
  void vivod()
  {
      for (int i=0;i<n;i++)
        cout<<p[i]<<" ";
        cout<<endl;
  }
        friend void srv (stroka,massiv);
    };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2017, 19:26
Ответы с готовыми решениями:

Преобразование строки в строку?
Есть вот такая вот ошибка Ключевые строки кода: Student *arr = new Student;...

Класс - преобразование массива в строку
#include &lt;iostream&gt; class str { public: ~str() // Деструктор, удаляет...

Преобразование целочисленного конст. массива (инт) в строку
Имеется массив целых чисел, допустим 100 чисел в произвольном диапазоне....

Преобразование типов - как строку чисел перевести в целочисленный массив ?
Как строку чисел например 1343245 перевести в интовый масив.

Преобразование строки в массив
Здраствуйте пишу программу.Мне нужно преобразовать строку в массив.Пробовал...

7
nmcf
6404 / 5667 / 2580
Регистрация: 14.04.2014
Сообщений: 23,980
02.03.2017, 19:43 2
string уже строка любой длины, убери массив в 10-й строке.
0
cleverson1
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
02.03.2017, 19:51  [ТС] 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
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
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
using namespace std;
 
class massiv;
class stroka
{
    string a;
public:
    void vvod()
    {
        cout<<"Введите строку: "<<endl;
        cin>>a;
    }
    void vivod()
    {
        cout<<a<<" "<<endl;
    }
    friend void srv (stroka,massiv);
};
 
    class massiv
    {
        int p[100];
        int n;
    public:
  void vvod()
  {
      cout<<" Ведите массив n: ";
      cin>>n;
      for (int i=0;i<n;i++)
        p[i]=(double(rand())/RAND_MAX)*20-10;
  }
  void vivod()
  {
      for (int i=0;i<n;i++)
        cout<<p[i]<<" ";
        cout<<endl;
  }
        friend void srv (stroka,massiv);
    };
 
    
    int main()
    {
        setlocale(LC_ALL, "Russian");
        srand(time(NULL));
        massiv st;
        stroka st
        mt.vvod();
        st.vvod();
        mt.vivod();
        st.vivod();
        srv(mt,st);
        system("pause");
        return 0;
    }
Я не могу понять как отделить цифры от слов при переводе и как сделать: "При преобразовании из массива в строку сформировать случайным образом строку длинной, равной сумме цифр элементов массива."
0
nmcf
6404 / 5667 / 2580
Регистрация: 14.04.2014
Сообщений: 23,980
02.03.2017, 20:01 4
Там произвольный набор или слова и числа через пробел?
Сумму подсчитай и делай resize() для строки. Потом заполнишь.
0
cleverson1
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
02.03.2017, 20:05  [ТС] 5
Ввод любых слов и чисел через пробел
0
Photofenix
61 / 61 / 39
Регистрация: 18.11.2016
Сообщений: 514
Завершенные тесты: 1
02.03.2017, 20:11 6
Не до конца понял, что вам нужно сделать?

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
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
class mas;
class stroka{
private:
    std::string str [3];
public:
    stroka (){
        for (int i(0); i!=3; i++){
            std::cin >> str[i];
        }
    }
 
    ~stroka(){}
 
    void get_value (){
        for (int i(0); i!=3; i++){
            std::cout << str[i] << std::endl;
        }
    }
 
    friend void compare (stroka X, mas Y);
};
 
 
class mas{
private:
    int array [3];
public:
    mas (){
        for (int i(0); i!=3; i++){
            std::cin >> array[i];
        }
    }
 
    ~mas(){}
 
    void get_value (){
        for (int i(0); i!=3; i++){
            std::cout << array[i] << std::endl;
        }
    }
 
    friend void compare (stroka X, mas Y);
};
 
 
void compare (stroka X, mas Y){
    X.get_value();
    Y.get_value();
    //YOUR PROGRAM
}
 
 
int main(){
    SetConsoleCP (1251);
    SetConsoleOutputCP (1251);
 
    stroka one;
    mas two;
 
    system ("pause");
    return 0;
 
}
0
cleverson1
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
02.03.2017, 20:31  [ТС] 7
Нужно ввести строку с словами и цифрами и ввести массив из цифр. ОТдельно преобразовать строку в массив(выбрать только цифры и записать их в массив). Отдельно преобразовании из массива в строку(сформировать случайным образом строку длинной, равной сумме цифр элементов массива). Вывести результат
0
Photofenix
61 / 61 / 39
Регистрация: 18.11.2016
Сообщений: 514
Завершенные тесты: 1
02.03.2017, 21:25 8
Я понял так.
1) В строку мы записываем буквы.
2) Преобразуем в целочисленный тип.
3) Присваиваем к целочисленному массиву.
4) Выводим массив.


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
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
class mas;
class stroka{
private:
    std::string str;
public:
    stroka (){
        for (int i(0); i!=3; i++){
            std::cin >> str[i];
        }
    }
 
    ~stroka(){}
 
    void get_value (){
        for (int i(0); i!=3; i++){
            std::cout << str[i] << std::endl;
        }
    }
 
    friend void compare (stroka X, mas Y);
};
 
 
class mas{
private:
    int array [3];
public:
 
    mas (){
        for (int i(0); i!=3; i++){
            array[i] = 0;
        }
    }
 
    ~mas (){}
  
    void get_value (){
        for (int i(0); i!=3; i++){
            std::cout << array[i] << std::endl;
        }
    }
 
    friend void compare (stroka X, mas Y);
};
 
 
void compare (stroka X, mas Y){
   for (int i(0); i!=3; i++){
       Y.array[i] = static_cast <int> (X.str[i]);
       std::cout << Y.array[i] << std::endl;
   }
 
   
}
0
02.03.2017, 21:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2017, 21:25

Преобразование строки в массив цифр
Помогите разобраться с функцией для преобразования строки в массив цифр. void...

Преобразование строки символов в массив
Подскажите, как преобразовать строку символов в массив?

Преобразование строки символов в массив
void stuToArr(char s, int ar, int&amp;size) { int i=0; size=0; forever {...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru