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

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

Войти
Регистрация
Восстановить пароль
 
Desert Eagle
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 106
#1

Массивы. - C++

25.10.2011, 21:26. Просмотров 320. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Помогите решить задачу: В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму положительных элементов массива;
2) произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
3) упорядочить элементы массива по убыванию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2011, 21:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массивы. (C++):

Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100) - C++
Доброго дня, уважаемые форумчане, помогите пожалуйста решить задание. Заполнить массивы случайными числами, лежащими в интервале 0 до...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

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

Многомерные массивы, как перебирать внутренние массивы - C++
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...

Массивы структур и массивы строк - C++
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте. 2. Распечатать...

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

3
Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
25.10.2011, 21:31 #2
Сумма положительных элементов массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int a[5],sum = 0, count = 0;
    cout << "Enter mas: \n";
    
    for(int i=0;i<5;i++)
    cin >> a[i];
    
    for(int i=0;i<5;i++)
    if(a[i]>0){sum += a[i]; count++;}
    
    cout << "Sum = " << sum << "  Kol-vo = " << count;
    
    cin.get();
    cin.get();
}
Или все вместе:
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
#include <iostream>
#include <math.h>
using std::cin;
using std::cout;
using std::endl;
int main(){
int n,i,j,
maxelem, minelem; // Номера максимального и минимального элементов
float summ = 0, // Сумма положительных элементов
temp;
cout << "Enter n: "; // Ввод количества элементов массива
cin >> n;
float *arr = new float [n]; // Создание массива
for (i = 0; i < n; i++){
cout << "Enter element number " << i + 1 << " : "; // Ввод элементов массива
cin >> arr[i];
}
maxelem = minelem = 0;
for (maxelem=minelem=i=summ=0;i<n;i++){
if (arr[i] > 0) summ += arr[i]; // Сумма положительных элементов
if (fabs(arr[i]) > fabs(arr[maxelem])) maxelem = i; // Определение номера максимального по модулю элемента
if (fabs(arr[i]) < fabs(arr[minelem])) minelem = i; // И минимального
}
cout << "Summ of positive elements = " << summ << endl; // Вывод суммы положительных елементов
if (abs(maxelem - minelem) > 1){ // Если между максимальным и минимальным по модулю элементами
// есть элементы
int stelem = (maxelem < minelem ? maxelem : minelem); // Определяем какой из максимального и минимального элементов
int endelem = (maxelem < minelem ? minelem : maxelem); // имеет меньший номер
for (i = stelem + 1,temp = 1; i < endelem; i++)
temp *= arr[i]; // Произведение промежуточных элементов
cout << "Product of elements between max and min = " << temp << endl; // Вывод полученного произведения
}
else
cout << "No elements between max and min.";
cout << "Source array:\n[";
for (i = 0; i < n; i++) // Вывод исходного массива
cout << arr[i] << (i < n-1 ? ", " : "]\n"); //
// Сортировка массива методом сравнения:
for (int i = 0; i < n-1; i++) // Проход всего массива кроме последнего элемента
for (int j = i + 1; j <= n-1; j++) // Проход оставшейся части массива
if (arr[i] < arr[j]){ // Сравнение текущего элемента с элементом из оставшейся части.
temp = arr[i]; // Обмен значений элементов если они стоят в неправильном порядке
arr[i] = arr[j];
arr[j] = temp;
}
 
cout << "Array sorted by decreasing:\n[";
for (i = 0; i < n; i++) // Вывод отсортированного массива
cout << arr[i] << (i < n-1 ? ", " : "]\n"); //
delete [] arr;
cin.get(),cin.get();
return 0;
}
Неужели так тяжело погуглить?
1
MrGluck
Модератор
Эксперт CЭксперт С++
7800 / 4844 / 754
Регистрация: 29.11.2010
Сообщений: 13,212
25.10.2011, 21:38 #3
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<conio.h>
using namespace std;
 
int main()
{
    int mass[5] = {10, -6, 2, 4, 1}, sum = 0;
    for (int i = 0; i < 5; i++)
        if (mass[i] > 0)
            sum += mass[i];
    cout<< sum;
    getch();
    return 0;
}
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
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
 
int main()
{
    int mass[5] = {1, -6, 2, 4, 1}, min = abs(mass[0]), min_index = 0,
                  max = abs(mass[0]), max_index = 0, x = 1;
    for (int i = 0; i < 5; i++)
    {
        if (abs(mass[i]) > max)
        {
            max = abs(mass[i]);
            max_index = i;
        }
        if (abs(mass[i]) < min)
        {
            min = abs(mass[i]);
            min_index = i;
        }
    }
    for (int i = min_index; i <= max_index && i < 5; i++)
        x *= mass[i];
    cout<< x;
    getch();
    return 0;
}
3.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<conio.h>
using namespace std;
 
int comp(const void *i, const void *j)
{
  return *(int *)j - *(int *)i;
}
 
int main()
{
    int mass[5] = {10, 6, 2, 4, 1};
    qsort (mass, 5, sizeof (int), comp);
    for (int i = 0; i < 5; i++)
        cout<< mass[i]<< " ";
    getch();
    return 0;
}
1
Desert Eagle
0 / 0 / 0
Регистрация: 18.09.2010
Сообщений: 106
25.10.2011, 21:42  [ТС] #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
#include <iostream>
 #include <math.h>
 using namespace std;
 
 int main()
 {
 int n;
 
 cout << "Enter n: "; 
 cin >> n;
 
 float *arr = new float [n]; 
 
 for (int i = 0; i <= n-1; i++)
 {
 cout << "номер" << i + 1 << " : ";
 cin >> arr[i];
 }
 
 float summ = 0; 
 
 int maxelem, minelem; 
 maxelem = minelem = 0;
 
 for (int i = 0; i <= n-1; i++) 
 {
 if (arr[i] > 0)
 summ += arr[i]; /
 
 if (fabs(arr[i]) > fabs(arr[maxelem])) maxelem = i; 
 if (fabs(arr[i]) < fabs(arr[minelem])) minelem = i; 
 
 cout << "сумма позиций = " << summ << endl; 
 
 if (abs(maxelem - minelem) > 1) 
 
 int stelem = (maxelem < minelem ? maxelem : minelem);  
 int endelem = (maxelem < minelem ? minelem : maxelem); 
 
 float multipl = 1;
 
 for (int i = stelem + 1; i < endelem; i++)
 multipl *= arr[i]; 
 
 cout << "произвед = " << multipl << endl; 
 }
 else
 cout << "нет элементов";
 
 
 cout << "Source array:\n[";
 for (int i = 0; i <= n-1; i++) 
 cout << arr[i] << (i < n-1 ? ", " : "]\n"); //
 
 
 
 
 
 float temp; 
 
 for (int i = 0; i < n-1; i++) 
 {
 for (int j = i + 1; j <= n-1; j++) 
 {
 if (arr[i] < arr[j]) 
 {
 temp = arr[i]; 
 arr[i] = arr[j];
 arr[j] = temp;
 }
 }
 } 
 
 
 
 cout << "сортировка:\n[";
 for (int i = 0; i <= n-1; i++) 
 cout << arr[i] << (i < n-1 ? ", " : "]\n"); 
 
 delete [] arr;
 
 return 0;
 }
спасибо за то, что ответили. а то я прогу написал, но она не робит, а в чем ошибка понять не могу.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2011, 21:42
Привет! Вот еще темы с ответами:

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append(&quot;мамa&quot;); ...

Массивы структур и массивы строк - C++
Здравствуйте. Возникла проблема с одной работой: Постановка задачи: 1. Сформировать динамический массив из элементов структурного типа....

Массивы структур, массивы векторов - C++
Разработайте тип данных «Вектор в трехмерном пространстве» в виде структуры, поля которой — координаты вектора. Напишите следующие функции:...

индексные массивы и адресные массивы - C++
погитите решить задачу c массивами двумя способами {индексные и адресные} { Вычислить суммы элементов каждой строки матрицы Х(20х20),...


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

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

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