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

Что за ошибка??? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Диаграмма классов http://www.cyberforum.ru/cpp-beginners/thread108061.html
Здраствуйте!! Подскажите, пожалуйста, как можно создать диаграмму классов в Visual Studio. Я знаю,что там можно сгенерировать диаграмму по уже написаному коду, но мне нужно сначала создать диаграмму классов, а по ней получить код. Я выполняю такую очередность действий: File->New->Project->Empty Project. Потом из toolbox перетягиваю элемент в рабочую область и создается класс. Проблема в том, что...
C++ Написать функцию аргумента x и y написать и протестировать функцию аргумента x и y которая свой 1й элемент заменяет на сумму x+y, а 2й элемент заменяет на разность x-y http://www.cyberforum.ru/cpp-beginners/thread108047.html
C++ Вывод таблицы факториалов
написать программу выводящую на экран таблицу факториалов от 0 до n где число n целое и вводится с клавиатуры
C++ Вывести простые числа из заданного интервала
написать программу выводящую на экран все простые числа из интервала от n до m Для определения является ли число простым составить функцию
C++ Написать функцию A в степени X http://www.cyberforum.ru/cpp-beginners/thread108041.html
Написать и протестировать функцию которая вычисляет значение A в степени X A и X любые числа
C++ операции с массивами от задача http://s61.***********/i173/1003/c4/28fe8dbd7b46.jpg П.С.буду очень благодарен) подробнее

Показать сообщение отдельно
I_like_C++
14 / 14 / 1
Регистрация: 15.03.2010
Сообщений: 126
23.03.2010, 20:46     Что за ошибка???
помогите доделать код
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include <vector>
#include <cmath>
#include <ctime>
#include <algorithm>
using namespace std;
void out(int n, vector<int> &f1)
{
    int q;
    cout<<"\nВведите параметр вывода\n1-в столбик\n2-в строку\nВвод:";cin>>q;
    switch(q)
    {
        case 1: 
            {
                for(int i=0; i<n;i++) 
                    cout<<i<<":"<<f1[i]<<endl;
                break;
            }
        case 2: 
            {
                for(int i=0; i<n;i++) 
                {
                    cout<<i<<":"<<f1[i]<<" ";
                }
                break;
            }
        default: break;
    }
    cout<<endl;
}
void sort_f1(int n, vector<int> &f1,vector<int> &f2)
{
    int x, t, m, Z, k=0;
    vector<int>::iterator iter;
    cout<<"\nЗадание №1:\nОтсортировать по возрастанию только элементы вектора, начинающиеся цифрой Z\n";
    cout<<"Введите число Z:";cin>>Z;
    for (iter=f1.begin(); iter!=f1.end(); iter++) 
    { 
        x=abs(*iter);
        t=abs(x);
        for (m=0; x/10!=0; m++)
            x/=10;
        for (int g=0 ; g<m; g++)
        {
            t/=10;
        }
        if (t==Z)
        {
            f2.push_back(*iter);
            k++;
        }
    }
    cout<<"\nЭлементы,начинающиеся на Z: "; 
    for(int i=0; i<k;i++)
    {
        cout<<f2[i]<<" ";
    }
    sort(f2.begin(),f2.end());
    m=f1.size();
    for( int i=0; i<k; i++)
    {
        for( int j=0; j<m; j++)
        {
            if(f2[i]==f1[j])
            {
                x=f1[j];
                f1[j]=f1[m-1];
                f1[m-1]=x;
                f1.pop_back();
                --j;
                m=f1.size();
            }
        }
    }
    f1.insert( f1.end(),f2.begin(),f2.end());
    cout<<"\nУпорядоченныe элементы Z в векторе: ";
    for(int i=0; i<n;i++)
    {
        cout<<f1[i]<<" ";
    }
    f2.clear();
}
void varik(vector<int>&f1,vector<int>&f2)
{
    int a,b;
    cout<<"\n\nЗадание №2:\nУдалить из вектора все эле-менты, принадлежащие не-которому диапазону";
    cout<<"\nЗадайте диапазон [a;b](через пробел)! Элементы вектора, принадлежащие этому\nдиапазону, будут удалены: ";cin>>a>>b;
    vector<int>::iterator iter;
    int m=f1.size(), x;
    for( int i=0; i<m; i++)
    {
        if(f1[i]>=a && f1[i]<=b)
        {
            x=f1[i];
            f2.push_back(x);
            f1[i]=f1[m-1];
            f1[m-1]=x;
            f1.pop_back();
            --i;
            m=f1.size();
        }
    }
    sort(f2.begin(),f2.end());
 
    cout<<"Получившийся вектор: ";
    for(iter=f1.begin(); iter!=f1.end();++iter)
    {
        cout<<*iter<<" ";
    }
}
void eee(vector<int>&f1,vector<int>&f2)
{
    cout<<"\n\nЗадание №3:\nПеред каждым числом, являющимся полным квадратом, вставить в первый вектор разность между минимумом и максиму-мом во втором векторе";
    vector<int>::iterator iter;
    int r1=f2.front();
    int r2=f2.back();
    int r=r2-r1;
    cout<<"\n\n";
    for(iter=f1.begin(); iter!=f1.end();++iter)
    {
        double x=*iter;
        double x1=floor(sqrt(x));
        double x2=ceil(sqrt(x));
        if ((x2-x1)==0)
        {
            f1.insert(iter,r);
        }
    }
}
int main()
{
    setlocale(0, "russian");
    srand((unsigned)time(NULL));
    vector<int> f1;
    vector<int> f2;
    int a,b,n;
    cout<<"Задайте количество элементов в векторе:";cin>>n;
    cout<<"Задайте диапазон значений[a;b](через пробел):";cin>>a>>b;
    for(int i=0; i<n;i++)
    f1.push_back(rand()%(b-a+1)+a);
    out(n,f1);
    sort_f1 (n,f1,f2);
    varik(f1,f2);
    eee(f1,f2);
 
system("pause");
return 0;
}
проблема с 3им заданием, а именно вот с этим
C++
1
2
3
4
5
6
7
8
9
10
for(iter=f1.begin(); iter!=f1.end();++iter)
    {
        double x=*iter;
        double x1=floor(sqrt(x));
        double x2=ceil(sqrt(x));
        if ((x2-x1)==0)
        {
            f1.insert(iter,r);
        }
    }
в цикле никак не хочет работать...скажите почему?? и что означает эта ошибка??
второй диапазон лучше задавать без включения туда полных квадратов 4, 9, 16, 25....если такие имеются=)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru