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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
#1

В одномерном массиве вычислить: максимальный элемент массива и сумму элементов массива, расположенных до последнего положительного элемента - C++

23.05.2013, 18:31. Просмотров 1133. Ответов 3
Метки нет (Все метки)

Не могу найти ошибку
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
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
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
using namespace std;
int n,A,B;
 
void vvodmassiva(int n, int * mas);
void summadomaxpoli(int a,int * mas,int masxpoli);
void pokazat(int n, int * mas);
void szhatie(int n, int * mas, int A, int B);
void maximel(int n, int * mas,int& maxpoli);
 
    void main(){
        int *mas = new int[n];
        int  max = mas[0];
        setlocale(LC_ALL,"rus");
        int a=0,b=1,maxpoli,A,B;
        cout<<"Введите размер массива= ";
        cin>>n;
    system("cls");
    vvodmassiva(n,mas);
    system("cls");
    pokazat(n,mas);
    maximel(n,mas,maxpoli);
    cout<<"Максимальный элемент массива= ["<<max<<"]"<<endl;
    summadomaxpoli(a,mas,maxpoli);
    cout<<"Сумма всех элементов массива до последнего положительного = ["<<a<<"]"<<endl;
    cout<<"Введите A = ";cin>>A;
    cout<<"Введите B = ";cin>>B;
    szhatie(n,mas,A,B);
    cout<<"Хотите проверить еще один массив? Введите 1 если да. \r\n";
    cin>>n;
    if(n == 1)
        main();
    
 
        ;}
 
void vvodmassiva(int n, int * mas)             //Ввод массива
{
    cout<<"Введите элементы массива \r\n";
    int b=1;
    for(int i = 0; i < n; i++){
        cout<<"Элемент №"<<b++<<"= "; cin>>mas[i];}
}
 
void maximel(int n,int * mas,int& maxpoli){     //Поиск максимального положительного
    int  max = mas[0];
    for (int i = 0; i < n; i++) {            
                  if (mas[i] >= max){
                  max = mas[i];
                  maxpoli=i;
                  }
            }
}
 
void pokazat(int n, int * mas)                 //Функция вывода массива
{
    for(int i = 0; i < n; i++)
        cout<<"Массив["<<i<<"]"<<mas[i]<<"\r\n";
    cout<<"\r\n";
}
 
void summadomaxpoli(int a,int * mas,int maxpoli){    //Сумма до максимального положительного
    for(int i=0;i<maxpoli;i++){                    
                a +=mas[i];
    }}
 
void szhatie(int n, int * mas, int A, int B)
{
    cout<<"Szhatie massiva\r\n";
    for(int i = 0,j; i < n; i++)
    {
        if (A <= abs(mas[i]) && abs(mas[i])<=B) 
        {
            for(j = i; j < n - 1; j++)
                mas[j] = mas[j + 1];
            mas[j] = 0;
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 18:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В одномерном массиве вычислить: максимальный элемент массива и сумму элементов массива, расположенных до последнего положительного элемента (C++):

Матрица динамическая. 1. максимальный элемент массива; 2. сумму элементов массива, расположенных до последнего положительного элемента - C++
Вариант 5 В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. максимальный элемент массива; 2. сумму элементов...

В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного - C++
Задача 2. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер максимального по модулю элемента массива; 2)...

Найти в одномерном массиве сумму элементов массива, расположенных до последнего положительного - C++
1) найти в одномерном массиве сумму элем. массива,расположенных до последнего положительного 2)в матрице А действ. чисел подсчитать сумму...

В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю. - C++
Помогите,пожалуйста,решить.. В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных...

Вычислить сумму элементов массива, расположенных до последнего положительного элемента - C++
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) максимальный элемент массива; 2) сумму элементов массива,...

Вычислить сумму элементов массива, расположенных до последнего положительного элемента - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. максимальный элемент массива; 2. сумму элементов массива,...

3
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2013, 21:53 #2
Сначала это?
C++
1
int *mas = new int[n];
а потом это?
C++
1
 cin>>n;
0
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
23.05.2013, 22:06  [ТС] #3
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
#include <iostream>
using namespace std;
int n,A,B;
 
void vvodmassiva(int n, int * mas);
void summadomaxpoli(int a,int * mas,int masxpoli);
void pokazat(int n, int * mas);
void szhatie(int n, int * mas, int A, int B);
void maximel(int n, int * mas,int& maxpoli);
 
    void main(){
        setlocale(LC_ALL,"rus");
        int a=0,b=1,maxpoli,A,B;
        cout<<"Введите размер массива= ";
        cin>>n;
        int *mas = new int[n];
        int  max = mas[0];
    system("cls");
    vvodmassiva(n,mas);
    system("cls");
    pokazat(n,mas);
    maximel(n,mas,maxpoli);
    cout<<"Максимальный элемент массива= ["<<max<<"]"<<endl;
    summadomaxpoli(a,mas,maxpoli);
    cout<<"Сумма всех элементов массива до последнего положительного = ["<<a<<"]"<<endl;
    cout<<"Введите A = ";cin>>A;
    cout<<"Введите B = ";cin>>B;
    szhatie(n,mas,A,B);
    cout<<"Хотите проверить еще один массив? Введите 1 если да. \r\n";
    cin>>n;
    if(n == 1)
        main();
    
 
        ;}
 
void vvodmassiva(int n, int * mas)             //Ввод массива
{
    cout<<"Введите элементы массива \r\n";
    int b=1;
    for(int i = 0; i < n; i++){
        cout<<"Элемент №"<<b++<<"= "; cin>>mas[i];}
}
 
void maximel(int n,int * mas,int& maxpoli){     //Поиск максимального положительного
    int  max = mas[0];
    for (int i = 0; i < n; i++) {            
                  if (mas[i] >= max){
                  max = mas[i];
                  maxpoli=i;
                  }
            }
}
 
void pokazat(int n, int * mas)                 //Функция вывода массива
{
    for(int i = 0; i < n; i++)
        cout<<"Массив["<<i<<"]"<<mas[i]<<"\r\n";
    cout<<"\r\n";
}
 
void summadomaxpoli(int a,int * mas,int maxpoli){    //Сумма до максимального положительного
    for(int i=0;i<maxpoli;i++){                    
                a +=mas[i];
    }}
 
void szhatie(int n, int * mas, int A, int B)
{
    cout<<"Szhatie massiva\r\n";
    for(int i = 0,j; i < n; i++)
    {
        if (A <= abs(mas[i]) && abs(mas[i])<=B) 
        {
            for(j = i; j < n - 1; j++)
                mas[j] = mas[j + 1];
            mas[j] = 0;
        }
    }
 
}
пускай так. Все равно не так.
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.05.2013, 22:49 #4
Цитата Сообщение от Warezovvv Посмотреть сообщение
Все равно не так.
Не так. Из функции поиска максимального элемента нужно или вернуть найденное значение, или передать туда по ссылке переменную max. Нет функции поиска последнего положительного элемента (в задании не сказано, что максимального положительного).
0
23.05.2013, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2013, 22:49
Привет! Вот еще темы с ответами:

Вычислить сумму нечетных элементов массива, расположенных до последнего положительного элемента - C++
В одномерном массиве, который состоит из n действительных элементов, вычислить сумму нечетных элементов массива, расположенных до...

Массив: Вычислить сумму элементов массива, расположенных до последнего положительного элемента. - C++
Разработать алгоритм и программу по обработке элементов одномерного или двумерного динамического массива Размерность массива...

Массив: Вычислить сумму элементов массива расположенных до последнего положительного элемента. - C++
В одномерном массиве состоящем из n вещественных элементов вычислить: 1) максимальный элемент массива(это сделано) 2) сумму элементов...

Вычислить максимальный элемент массива до первого нулевого и сумму элементов до последнего положительного. - C++
В одномерном массиве, состоящем из n вещественных элементов вычислить: 1. Максимальный элемент массива, расположенный до первого...


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

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

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