Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Desert Eagle
0 / 0 / 1
Регистрация: 18.09.2010
Сообщений: 106

Массивы.

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

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Помогите решить задачу: В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму положительных элементов массива;
2) произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
3) упорядочить элементы массива по убыванию.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2011, 21:26
Ответы с готовыми решениями:

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

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

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

3
 Аватар для Revol'veR
23 / 23 / 4
Регистрация: 05.11.2010
Сообщений: 134
25.10.2011, 21:31
Сумма положительных элементов массива
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
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.10.2011, 21:38
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 / 1
Регистрация: 18.09.2010
Сообщений: 106
25.10.2011, 21:42  [ТС]
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2011, 21:42
Помогаю со студенческими работами здесь

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

Структуры, массивы, указатели, динамические массивы структур
Помогите с решением задачи (прикрепляю условие). Заранее спасибо.

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

Массивы структур и массивы строк
Студенты, у которых рейтинг меньше 3 что не верно делаю?! #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; ...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru