Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 17
1

Изменить порядок следования элементов массива

29.04.2013, 20:15. Просмотров 2821. Ответов 3
Метки нет (Все метки)

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) Произведение отрицательных элементов массива;
2) Сумму положительных элементов массива, расположенных до максимального элемента.
Изменить порядок следования элементов в массиве на обратной.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2013, 20:15
Ответы с готовыми решениями:

Изменить порядок следования элементов массива
Прошу помочь буду блогодарна ,заранее спасибо!! Изменить порядок следования элементов массива на...

Изменить порядок следования элементов массива на противоположный
Измените порядок следования элементов массива на противоположный.

Изменить порядок следования элементов массива на обратный
Привет всем! Нужна помощь по решению задачи на языке С++. Принципиально я знаю как решать, но не...

Изменить порядок следования элементов массива a[n], расположенных между k и k+5 элементами, на обратный
Изменить порядок следования элементов массива a, расположенных между k и k+5 элементами, на...

3
232 / 214 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
29.04.2013, 21:05 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
const int N = 10;
double A[N] = {0};
int num = 0;
double mul = 1;
double max = A[0];
for(int i = 0; i < N; i++)
{
    cin >> A[i];
    if(A[i] > max)
    {
         max = A[i];
         num = i;
     }
    if(A[i] < 0)
    {
         mul*=A[i];
    }
}
if(num)
{
   double sum = 0;
    for(int i = 0; i < num; i++)
   {
       if(A[i] > 0) {sum+=A[i];}
   }
}
0
407 / 245 / 117
Регистрация: 26.12.2012
Сообщений: 786
29.04.2013, 21:31 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
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
 
//прототип функции для печати массива
void printArray(int[], const int);
 
using namespace std;
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 
//объявляем необходимые переменные
const int size = 15;
int massiv[size];
int  sum = 0, proizv = 1,max = 0;
 
//задаем начало отчета для рандомизатора rand()
srand(time(NULL));
 
//наполняем массив случайными величинами
for(int i = 0; i < size; i++)
{
  int  temp = rand()%2;//подсчёт будет минус или нет, если значение будет равно нулю - то число с минусом, в остальных случаях - нет
    if(temp == 0) massiv[i] = (rand() % 100)*-1;
    else massiv[i] = (rand() % 100);//% - означает остаток от деления на 100(от 0 до 99)
 
}
//выводим содержимое массива на экран
cout <<"   Исходный массив" << "\n";
cout <<"\n\n";
printArray(massiv, size);
cout <<"\n\n";
cout <<"   Инвертированный массив" << "\n";
int temp;
 
for(int i = 0; i < size / 2; i++)
{
temp = massiv[i];
massiv[i] = massiv[size - i - 1];
massiv[size - i - 1] = temp;
}
 
printArray(massiv, size);
//выполняем необходимые подсчеты в цикле
for(int i = 0; i < size; i++)
{
if(massiv[i] > max)
max = massiv[i];
if(massiv[i] < 0)
proizv *= massiv[i];
}
for(int i = 0; i < size; i++)
{
if ((massiv[i] > 0)&&(massiv[i] < max))
    sum += massiv[i];
}
cout << "\n\n";
 
cout << "Сумма элементов < max: " << sum << "\n";
cout << "Произведение элементов < 0: " << proizv << "\n";
 
 
return 0;
}
 
//функция вывода массива на экран
void printArray(int a[], const int s)
{
for(int k = 0; k < s; k++)
cout << a[k] << " ";
 
cout << endl;
}
0
101 / 102 / 43
Регистрация: 06.03.2012
Сообщений: 478
29.04.2013, 21:50 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
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    srand (time(NULL));
    setlocale (LC_ALL,"Russian");
 
    const int N = 10;
    int massiv [N];
 
    for (register int i = 0;i<N;i++)
    {
        massiv[i] = -10 + rand () % 21;
            cout<<setw (3)<<massiv[i];
    }
    
    cout<<endl;
    
    int pro = 1,sum= 0;
    int max = massiv[0];
    for (register int i = 0;i<N;i++)
    {
        if (massiv[i]<0)
            pro *= massiv[i];
        if (massiv[i]>max)
            max = massiv[i];
        if ((massiv[i]>0) && (massiv[i]<max))
            sum += massiv[i];
    }
 
    cout<<"Произведение отрицательных: "<<pro;
        cout<<endl;
 
        cout<<"Максимальный элемент: "<<max;
            cout<<endl;
 
    cout<<"Сумма положительных до максимального: "<<sum;
        cout<<endl;
 
        int a = 0;
        for (register int i = 0;i<N/2;i++)
        {
            a = massiv[i];
            massiv[i] = massiv[N - i - 1];
            massiv[N - i - 1] = a;
        }
 
        cout<<"Обратный массив: ";
        for (register int i = 0;i<N;i++)
        {
            cout<<setw (3)<<massiv[i];
        }
 
        cout<<endl;
 
    system ("pause");
    return 0;
Добавлено через 48 секунд
припоздал
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2013, 21:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Используя указатель на массив целых чисел, изменить порядок следования элементов массива на противоположный
Доброго времени суток, подскажите, пожалуйста,что в моем коде неправильно. #include &lt;iostream&gt;...

Используя указатель на массив целых чисел, изменить порядок следования элементов массива на противоположный
Доброго времени суток, я написал код ,удовлетворяющий условия задачи,однако мне еще незнакома...

Изменить порядок следования элементов в массиве
изменить порядок следования элементов в массиве так чтобы сначало располагались все отрицательные...

Изменить порядок следования элементов в массиве на обратный
Здравствуйте. Надо написать функцию, но почему-то он у меня вылетает. Что я неправильно сделал?...


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

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

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