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

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фигуры, которые разбивают плоскость на области http://www.cyberforum.ru/cpp-beginners/thread846527.html
Здравствуйте! Суть: Даны фигуры, которые разбивают плоскость на области: трапеция с вершинами в точках: (0.5 , 0.5), (0.5 , 2.5), (4.5 , 2.5), (2.5 , 0.5), окружность с центром в точке...
C++ Монте-карло Преподаватель попросил разобрать метод монте-карло, и реализовать его в c++, помогите реализовать метод в с++ http://www.cyberforum.ru/cpp-beginners/thread846503.html
C++ Работа с srand и установка начального значения генератора чисел
Вообщем имеется вот такая строчка кода: srand( static_cast<unsigned int>(time(NULL)) ); Пишу в Borland C, но при компиляции выводит ошибку "Undefined symbol static_cast" Посоветуйте, что делать в...
Разработать класс индикатор времени C++
Помогите пожалуйста. Разработать класс индикатор времени, для которого устанавливается время, на протяжении которого он действует. Все объекты этого класса должны в зависимости от желания...
C++ не могу понять в чем ошибка http://www.cyberforum.ru/cpp-beginners/thread846470.html
Задание: Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных чисел Вот что у меня получилось: #pragma argsused...
C++ Передвижение по строчке Проблема такова: есть строчка: char* text = "text1 text2"; Я ищу первый пробел: char* ch; ch = strchr(text, ' '); Потом обрезаю оставшиеся пробелы, чтобы остался только нормальный тест: ... подробнее

Показать сообщение отдельно
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями - C++

23.04.2013, 23:16. Просмотров 2483. Ответов 2
Метки (Все метки)

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. максимальный элемент массива;
2. сумму элементов массива, расположенных до последнего положительного элемента.
Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
Вообщем вот задание.
Когда перечитал понял что сумма до последнего положительного. Начал все переписывать и в конце получается "ахинея".

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
    #include <iostream>
    #include <windows.h>
    using namespace std;
 
 
    int main(){
        setlocale(LC_ALL,"rus");
        int n=0,a=0,b=1; 
        cout<<"Введите размер массива= ";
        cin>>n;
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (2 + (0 * 16)) );
    int *mas = new int[n];
    int  max = mas[0];
    cout<<"Введите поочередно каждый элемент массива:"<<endl;        //ввод поэтапно элементов массива
                for(int i = 0; i < n; i++){
                    cout<<"№"<<b++<<"= ";
                    cin>>mas[i]; 
                 }
    //--------------------------------------------------------------------------------
                system("cls");//Очистка экрана
                 for(int i = 0; i < n; i++){
                     cout <<"Ваши введенные элементы массива = "<< mas[i] << endl;
                   }
                                         
                for (int i = 0; i < n; ++i) {            //Нахождение максимального элемента массива
                      if (mas[i] > max) {
                      max = mas[i];}
                   }
                cout<<"Максимальный элемент массива= ["<<max<<"]"<<endl;
            
 
    //-------------------------------------------------------------------------------
    int A,B;
    
cout<<"Введите A ( [A,B] ) = ";cin>>A;
cout<<"Введите B ( [A,B] ) = ";cin>>B;
    if (abs(mas[n]) >=A && abs(mas[n]) <=B)
    {
        for (int k=n;k<n-1;k++) mas[k]=mas[k+1];
        mas[n-1]=0;
        --n;
    }
    cout<<"Последний положительный "<<n<<endl;
    for(int i=0;i<n;i++){                    //Нахождение суммы всех элементов массивa
                    a +=mas[n];
                }
        cout<<"Сумма всех элементов массива = ["<<a<<"]"<<endl;
    for(int i=0;i<n;i++) cout<< mas[i]<<"";
    //-------------------------------------------------------------------------------
    return 0
        ;}
Добавлено через 28 минут
upppp

Добавлено через 3 часа 40 минут
uupuppuu
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru