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

Векторы для чайников

17.06.2017, 21:22. Показов 1392. Ответов 12

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите с заданием

1) Удалить из вектора все элементы, которые кратны заданному числу
2) Перед каждым простым элементом первого вектора вставить среднее значение элементов второго вектора

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
64
65
66
67
68
#include <iostream>
#include <ctime>
#include <vector>
#include <cmath>
using namespace std;
 
int Input()
{
    int n;
    cout<<"Введите количество элементов:";cin>>n;
    while (n<1)
    {
        cout<<"Задан неверный размер"<<endl;
        cin>>n;
    }
    return n;
}
 
vector <double>Imput(int n)
{
    vector <double> v;
    for(int i=0;i<n;i++)
    {
        double A;
        cout<<"Введите элемент массива ";cin>>A;
        v.push_back(A);
    }
    return v;
}
vector <double>del1(vector <double> A)
{ int p; //тут задается число для удаления кратности удаления
int i;    
    for(int i=0; i<A.size(); i++)
        
    {
        if(A[i] == p) //а тут пишет ошибку
        {
            A.erase(A.begin()+i);
        }
    }
    
    return A;
}
 
void display(vector <double>v)
{
    for(int i=0;i<v.size();i++)
    cout<<v[i]<<" ";
    cout<<endl;
}
 
int main()
{
    setlocale(0,"");
    int n=Input(),k,p;
    vector <double>A;
    vector <double>B;
    A=Imput(n);
    B=A;
    display(A);
    cout<<"Введите число для кратности удаления ";
    cin>>p;
    vector <double> q=del1(A);
    display(q);
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2017, 21:22
Ответы с готовыми решениями:

C++ за 21 день + для чайников
Сколько я буду получать гривен после прочтения этих книг и устройстве на работу? Еще я призер...

Книги для чайников
На данyый момент, прочитал книгу &quot;С++ за 21 день&quot; плюс имею знания в Юникс ОС, вузе выучил сети и...

С++ для совсем чайников
1. Лодка перемещается сначала по течению реки, а затем против течения. Вычислить путь пройденной...

Учебники для чайников :)
Microsoft Visual C++ 2010 Express есть какие-нибудь учебники к этой программе? и дайте...

12
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.06.2017, 21:35 2
Цитата Сообщение от sergey_513 Посмотреть сообщение
if(A[i] == p) //а тут пишет ошибку
и чего равно p ? 18 ? 299? Какое значение - где посмотреть в коде
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
17.06.2017, 21:37  [ТС] 3
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
и чего равно p ? 18 ? 299? Какое значение - где посмотреть в коде
я его должен задать
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.06.2017, 21:38 4
Цитата Сообщение от sergey_513 Посмотреть сообщение
я его должен задать
Мысленно?
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
17.06.2017, 21:40  [ТС] 5
Цитата Сообщение от sergey_513 Посмотреть сообщение
cout<<"Введите число для кратности удаления ";
* * cin>>p;
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Мысленно?
думал тут его задать, но я чайник в c++
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.06.2017, 21:48 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
64
65
66
67
68
69
#include <iostream>
#include <ctime>
#include <vector>
#include <cmath>
using namespace std;
 
int Input()                                                     
{
    int n;                                                      
    cout << "Введите количество элементов:"; cin >> n;                // 1. cout/cin не определены подключи iostream
    while( n < 1 )
    {
        cout << "Задан неверный размер" << endl;
        cin >> n;
    }
    return n;
}
 
vector <double>Imput( int n )                                       // 2. vector чего? float? bool?
{
    vector <double> v;                                              
    for( int i = 0; i < n; i++ )
    {
        double A;
        cout << "Введите элемент массива "; cin >> A;
        v.push_back( A );
    }
    return v;
}
vector <double>del1( vector <double> A )                            // 6. копия вектора, ты удаляешь что-то с копии, оригинал будет прежним
{
    int p; //тут задается число для удаления кратности удаления     // 3. новая переменная p - она к переменной c main не имеет отношения
    int i;                                                          // 4. зачем тут эта переменная? она не используется
    for( int i = 0; i < A.size(); i++ )
 
    {
        if( A[ i ] == p ) //а тут пишет ошибку
        {
            A.erase( A.begin() + i );                               // 5. после удаления элемента 2 с вектора 1 2 3 4 ты думаешь что там будет 1 NULL 3 4 ? Это не так
        }
    }
 
    return A;
}
 
void display( vector <double>v )
{
    for( int i = 0; i < v.size(); i++ )
        cout << v[ i ] << " ";
    cout << endl;
}
 
int main()
{
    setlocale( 0, "" );
    int n = Input(), k, p;
    vector <double>A;
    vector <double>B;
    A = Imput( n );                                                 // 7. что за imput ? Загуглите это слово
    B = A;                                                          // 8. зачем копия эта?
    display( A );
    cout << "Введите число для кратности удаления ";
    cin >> p;
    vector <double> q = del1( A );
    display( q );
 
    system( "pause" );
    return 0;
}
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
17.06.2017, 22:01  [ТС] 7
rikimaru2013, я вообще не знаю как исправить это
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.06.2017, 22:09 8
sergey_513, не расстраивайтесь. Берите книгу и шаг за шагом, вы сможете. Я верю в Вас!! Не подведите!
0
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
17.06.2017, 22:11  [ТС] 9
rikimaru2013, на следующей недели экзамен...
боюсь не успею
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
17.06.2017, 22:16 10
sergey_513, если трудности не преодолимы - не меритесь с этим! Выберите другую специальность, возможно вы отлично управляетесь с енотами, и это ваше призвание. Найдите себя в зоопарке.
2
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
17.06.2017, 22:16  [ТС] 11
rikimaru2013, умеете вы поддержать
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
18.06.2017, 02:03 12
Кликните здесь для просмотра всего текста
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
64
65
66
67
68
69
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
 
int Input()
{
    int n;
    cout<<"Введите количество элементов:";
    cin>>n;
    while (n<1)
    {
        cout<<"Задан неверный размер"<<endl;
        cin>>n;
    }
    return n;
}
 
void Imput(vector <int>& v, const int n)
{
    for(int i=0;i<n;i++)
    {
        int A;
        cout<<"Введите элемент массива ";
        cin>>A;
        v.push_back(A);
    }
    
}
 
void del1(vector <int>& A, const int p)
{ 
       
    for(int i=0; i<A.size(); i++)
    {
        if(A[i] % p == 0) 
        {
            A.erase(A.begin() + i);
            --i;
        }
    }
}
 
void display(const vector <int>& v)
{
    for(int i=0;i<v.size();i++)
    cout<<v[i]<<" ";
    cout<<endl;
}
 
int main(int argc, char* argv[])
{
    setlocale(0,"");
    
    int n = Input();
    vector <int>A;
    vector <int>B;
    Imput(A, n);
    B = A;
    display(A);
    cout<<"Введите число для кратности удаления ";
    int p;
    cin >> p;
    del1(A, p);
    display(A);
    
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
18.06.2017, 10:28  [ТС] 13
Цитата Сообщение от sergey_513 Посмотреть сообщение
2) Перед каждым простым элементом первого вектора вставить среднее значение элементов второго вектора
nd2, а как это можно сделать? помогите пожалуйста
0
18.06.2017, 10:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2017, 10:28
Помогаю со студенческими работами здесь

Посоветуйте литературу по С++ для чайников
ОЧЕНЬ хочу научиться языку С++ Подскажите пожалуйста литературу по С++ для чайниковых чайников=)))...

Динамические массивы для чайников
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) произведение элементов...

Нарисовать круг C++ (для чайников)
Добрый день! Я, вообще, новичок в программировании, в том числе и на C ++. Я использую...

SDK: гайд для чайников
Доброго времени суток. Будте добры, подскажите с чем готовят и как едят SDK к различному...


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

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

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