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

Посмотрите какой код

23.01.2015, 14:04. Просмотров 246. Ответов 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
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
149
150
151
152
#include <iostream>
        #include <locale>
        #include <time.h>
        #include <vector>
        #include <windows.h>
        #include <conio.h>
        using namespace std;
        
        
        float SumNe4etnye(const float* M, int n);
        float SumInterval(const float* M, int n);
        void ClearSmallElement(float* M, int n);
        
        
        int main()
        {
            setlocale(LC_ALL,"Russian");
            const int max = 20, min=1;int n;
            float* Arr;
            cout<<"Введите размерность массива: ";cin>>n;
            if( n <= 1 )
            {
                Arr = new float[min];
                n = min;
            }
            else if(n > 20)
            {
                Arr = new float[max];
                n = max;
            }
            else
                Arr = new float[n];
            short Question;
        Metka:
            system("cls");
            cout<<"Выберите способ заполнения массива:\n\t1-Для ручного заполнения\n\t2-Для автоматического заполнения\n";
            cin>>Question;
        
        
            switch(Question)
            {
                case 1:
                    cout<<"Заполните одномерный массив:"<<endl;
                    system("cls");
                    for(int i=0; i<n; i++)
                    {
                        cout << '[' << i+1 << ']' << " = ";
                        cin>>Arr[i];
                    }
                    system("cls");
                    break;
        
        
                case 2:
                    system("cls");
                    srand((int)time(0));
                    for(int i=0; i<n; i++)
                        Arr[i] = (float)(rand()%40-20);
                    system("cls");
                    break;
        
        
                default:
                    system("cls");
                    cout<<"Вы ввели не допустимую цифру, повторите ввод!";
                    Sleep(2000);
                    goto Metka;
            }
            
            cout<<"Одномерный массив:"<<endl;
            for( int i=0; i<n; i++)
                cout<<Arr[i]<<" ";
        
        
            cout<<"\n\nСумма элементов массива с нечетными номерами: "<<SumNe4etnye(Arr,n)<<endl;
            cout<<"\nСумму элементов  массива, расположенных  между первым  и последним отрицательными элементами: "<<SumInterval(Arr,n)<<endl;
            ClearSmallElement(Arr,n);
        
        
            cout<<"\nСжатый массив: "<<endl;
            for( int i=0; i<n; i++)
                cout<<Arr[i]<<" ";
            cout<<endl;
            _getch();
            return 0;
        }
        
        
        float SumNe4etnye(const float* M, int n)
        {
            float Sum = 0;
            for( int i=0; i<n; i+=2)
                Sum += M[i];
            return Sum;
        }
        
        
        float SumInterval(const float* M, int n)
        {
            float Sum = 0;
            int begin=0,end=n;
            for( int i=0; i<n; i++)
                if( M[i] < 0)
                {
                    begin = i+1;//начинаем с первого числа после отрицательног
                    break;
                }
            for( int i=n; i>0; i--)
                if( M[i] < 0)
                {
                    end = i;
                    break;
                }
            for( int i=begin; i<end; i++)
                Sum += M[i];
            return Sum;
        }
        
        
        void ClearSmallElement(float* M, int n)
        {
        
        
            vector <float> Mass;
            for( int i=0; i<n; i++)
            {
                if( abs(M[i]) <= 1 )
                    M[i] = 0;
            }
        
        
            int counts=0;
            for( int i=0; i<n; i++)
                if( M[i] != 0 )
                    Mass.push_back(M[i]);
                else
                    counts++;
        
        
            for( int i=0; i<counts; i++)
                Mass.push_back(0);
        
        
            for(int i=0; i<n; i++)
            {
                if(Mass[i] != 0)
                    M[i] = Mass[i];
                else
                    M[i] = 0;
            }
            Mass.clear();
        }

 Комментарий модератора 
Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2015, 14:04
Ответы с готовыми решениями:

Посмотрите код
Помогите разобраться, пишу программу на С++. Вот код: app.cpp #include &lt;SDL/SDL.h&gt; #include...

Посмотрите код
Всем доброго времени суток. Вот написал програмку, которая считает сумму элементов массива....

посмотрите код
Добавлено через 5 минут и еще, не подскажнте, как сделать так, чтоб работал великий и могучий))...

Посмотрите код пожалуйста...
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int n,*b,i,k; double x; float...

Посмотрите код программы
Вообщем сабж, код программы рабочий до ушей(по-моему), ругня на #include &lt;iostream.h&gt; на другом...

4
castaway
23.01.2015, 14:10
  #2

Не по теме:

Вах! Какой код!

0
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
23.01.2015, 14:21  [ТС] #3
ладно ладно я честно скопипастил это код (но я потратил время на его поиски). мне необходимо действия выполненные с одномерным массивом в результате это программы оформить в виде функций. В общем мне нужен упрощенный вариант этого кода а я его постараюсь усложнить
0
CAXOPOK
1 / 1 / 0
Регистрация: 29.03.2013
Сообщений: 59
23.01.2015, 14:24 #4
а где учишься?
0
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
23.01.2015, 14:31  [ТС] #5
в комсомольске-на-амуре )) но разве это по теме?
0
23.01.2015, 14:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2015, 14:31

Посмотрите код на наличие ошибки
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; typedef vector&lt;int&gt; row; typedef...

Посмотрите на мой код. Матрицы
Накидал вот такой косой код. Программа должна определить мин и макс элемент матрицы и поменять...

Программа не работает посмотрите код
Помогите пожалуйста с кодом программы Вычислить сумму 1-1\2+1\3-…+(-1)sqr(n+1)*(1\n) ...


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

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

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