0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
1

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

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

Author24 — интернет-сервис помощи студентам
Здраствуйте, не могу сообразить как правильно выполнить задание:
"Создать два класса: строка и массив. При преобразовании строки в массив выбрать только цифры и записать их в массив. При преобразовании из массива в строку сформировать случайным образом строку длинной, равной сумме цифр элементов массива."
Вот на чем я остановился:
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2017, 19:26
Ответы с готовыми решениями:

Задача такая: вводим массив, вводим строку, если последние символы элемента массива совпадают с символами строки выводим элемент массива(см. Описание)
Например Вводим массив: ррррррффф ллллллл ееееееффф тттттт Вводим строку: ффф

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

Преобразование строки таблицы в строку
Здравствуйте! Возникла такая проблема. Имеется таблица в БД, в которой хранится информация о...

Преобразование массива в строку
Приветствую. Срочно требуется ваша помощь! Итак есть скрипт, он разбивает строку в массив. Сначала...

7
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
02.03.2017, 19:43 2
string уже строка любой длины, убери массив в 10-й строке.
0
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
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
02.03.2017, 20:01 4
Там произвольный набор или слова и числа через пробел?
Сумму подсчитай и делай resize() для строки. Потом заполнишь.
0
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
02.03.2017, 20:05  [ТС] 5
Ввод любых слов и чисел через пробел
0
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
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
0 / 0 / 0
Регистрация: 02.03.2017
Сообщений: 4
02.03.2017, 20:31  [ТС] 7
Нужно ввести строку с словами и цифрами и ввести массив из цифр. ОТдельно преобразовать строку в массив(выбрать только цифры и записать их в массив). Отдельно преобразовании из массива в строку(сформировать случайным образом строку длинной, равной сумме цифр элементов массива). Вывести результат
0
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2017, 21:25
Помогаю со студенческими работами здесь

Преобразование массива в строку
Допустим у нас есть рандомный текст в виде переменной string. Нужно методом split убрать из него...

Преобразование массива в строку
Здравствуйте. Подскажите пожалуйста, как следующий массив преобразовать в нужную строку. ...

Преобразование символьной ASCIIZ строки в ASCII строку
как это выполнить ?

Преобразование числа, вписанного в строку, в массив
Всем привет! Решил написать маленький трейнер для игрушки, а именно: Есть 1 кнопка, 1 поле для...


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

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

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