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

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

Войти
Регистрация
Восстановить пароль
 
JiryPK
1 / 1 / 0
Регистрация: 13.11.2010
Сообщений: 17
#1

Ввод в массив элементы другого массива. - C++

05.04.2012, 18:11. Просмотров 763. Ответов 7
Метки нет (Все метки)

Здравствуйте, в задаче нужно из текстовой строки удалить пробелы и переписать символы в другой массив vector. Пробелы я нашёл как убрать, а вот скопировать не получается
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
// pal.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
class Del
{   
    public:
 
        int i, j;
 
        void del_probel( char str[]) //////// Функция удаляет пробелы из строки
        { 
            int n = strlen( str );
            i = 0;
            for( int j=0; j<n; ++j )
            {
                if( str[j] != ' ' )
                {
                    str[i++] = str[j];
                }
            }
                if( i < n )
                str[i] = '\0';
                cout<<"i = "<<i<<endl;
        }
 
};
 
int main()
{
    Del d;
 
    char *s1 = new char[100];
    char *p=&s1[0];
    vector<char> v;
    int i, z;
 
    cin.getline(s1,99);
    cout<<"s1 = "<<s1<<endl;
    system("pause");
 
    d.del_probel(s1);
    cout<<"vvedite koli4estvo bukv --> ";
    cin>>z;                                               //// Вводим количество символов в строке( равно i)
 
    for(int i=0; i<z; i++);
    {
        v.push_back(*(p));                 ////Здесь должен заполнять массив, но я не могу понять как его реализовать с помощью ссылки.
    }
    cout<<"razmer = "<<v.size()<<endl;
    for(int i=0; i<v.size(); i++)
        cout<<v[i]<<" "<<endl;
 
    system("pause");
    return 0;
}
как реализовать v.push_back, чтобы массив заполнялся всеми символами. Сейчас появляется только 1.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 18:11     Ввод в массив элементы другого массива.
Посмотрите здесь:

Записать в массив элементы другого массива - C++
Дан массив B(15). Записать в массив элементы массива B&gt;5. Помогите, пожалуйста, составить программу, до завтра нужно для зачёта.

Массив-ссылка на некоторые элементы другого массива - C++
У меня тут возникла идея. Есть большой двумерный массив, но не все строки этой матрицы нам нужны. Индексы нужных строк записаны в другой...

Сформировать массив записав элементы одного массива на четные места, а другого на нечетные - C++
Привет друзья! Понимаю логику данной программы, но плохо знаю язык c++, прошу дать код хотя бы основы программы. Даны 2 массива...

Есть два потока и глобальный массив, могут ли потоки перепутать элементы глобального массива или другого контейнера? - C++
Начать с массивов, допустим То есть ситуация такая: пусть имеется два потока и глобальный массив элементов int из двух элементов, один...

Перед указанным элементом массива вставить все элементы другого массива - C++
Даны одномерные массивы a и b, и число р. Вставить в массив a перед элементом с индексом р все элементы массива b. Добавлено через...

Переписать отрицательные элементы массива Х в массив У, а положительные элементы массива Х - в массив Z - C++
Задан массив Х(N)(N&lt;=90). Переписать отрицательные элементы массива Х последовательно в массив У, а положительные элементы массива Х - в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
05.04.2012, 21:47     Ввод в массив элементы другого массива. #2
C++
1
2
3
4
for(int i = 0; i < z; i++)
{
    v.push_back( *(p + i) );
}
JiryPK
1 / 1 / 0
Регистрация: 13.11.2010
Сообщений: 17
05.04.2012, 22:29  [ТС]     Ввод в массив элементы другого массива. #3
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
for(int i = 0; i < z; i++)
{
    v.push_back( *(p + i) );
}
так не получается, компилятор прерывает работу и пишет - The variable 'i' is being used without being initialized
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
05.04.2012, 22:52     Ввод в массив элементы другого массива. #4
Удалите объявление переменной i в 42-ой строке.
JiryPK
1 / 1 / 0
Регистрация: 13.11.2010
Сообщений: 17
05.04.2012, 23:17  [ТС]     Ввод в массив элементы другого массива. #5
Цитата Сообщение от rangerx Посмотреть сообщение
Удалите объявление переменной i в 42-ой строке.
Если убрать, то пишет в 54 строке 'i' undeclared identifier
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
06.04.2012, 14:48     Ввод в массив элементы другого массива. #6
Цитата Сообщение от JiryPK Посмотреть сообщение
Если убрать, то пишет в 54 строке 'i' undeclared identifier
В таком случае уберите объявление переменной i из циклов for(52, 57 строки), а 42 строку оставьте без изменений.
Catstail
Модератор
22445 / 10850 / 1766
Регистрация: 12.02.2012
Сообщений: 17,967
06.04.2012, 15:07     Ввод в массив элементы другого массива. #7
Чего так сложно-то?

Всего и делов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "string.h"
#include "iostream.h"
 
int main(int argc, char* argv[])
{
 
    char *S = "To be or not  to be";
 
        char V[100];
 
    int i,j;
 
    for (i=0; i <= 99; i++) V[i]=0;
 
    j=0;
        for (i=0; i < strlen(S); i++)
        if (*(S+i) != ' ') V[j++]=*(S+i);
 
    cout << V << endl;
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2012, 18:55     Ввод в массив элементы другого массива.
Еще ссылки по теме:

Получить массив, расположив в его начале элементы массива A, а затем — элементы массива B - C++
Помогите решить такую вот задачку (Даны массивы A и B. Получить массив C, расположив в его начале элементы массива A, а затем — элементы...

Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции - C++
Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции, при этом 3 элемента массива Х перемещаются в начало

Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции - C++
Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции

Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите его максимальный элемент - C++
помогите пожалуйста Из данного массива и другого массива того же типа, но другой размерности сформируйте общий массив и найдите...


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

Или воспользуйтесь поиском по форуму:
JiryPK
1 / 1 / 0
Регистрация: 13.11.2010
Сообщений: 17
06.04.2012, 18:55  [ТС]     Ввод в массив элементы другого массива. #8
Спасибо огромное!
Yandex
Объявления
06.04.2012, 18:55     Ввод в массив элементы другого массива.
Ответ Создать тему
Опции темы

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