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

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

Войти
Регистрация
Восстановить пароль
 
anastalex
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 142
#1

Упорядочить массив вещественных чисел по убыванию модулей элементов и найти два числа по условию - C++

23.12.2015, 14:05. Просмотров 258. Ответов 5
Метки нет (Все метки)

Программа была написана для другой похожей задачи, помогите подстроить под следующие условия. "В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от A до В; 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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
char* Rus(const char* text);
 
int main()
{
  const int n=100;                                          //1
  int a[n];
  int i,kol,imax,pr;
  cout<<endl<<Rus(" Введите чётное количество целых элементов: ");
  cin>>kol;
  if (kol>n)
  {
    cout<<Rus(" Превышение размера массива!")<<endl;
 
    return 1;
  }
  cout<<Rus(" Введите ")<<kol;
  cout<<Rus(" целых чисел:")<<endl;
  for (i=0; i<kol; i++) cin>>a[i];                                  //2
  system("cls");
  cout<<endl<<Rus(" Исходный одномерный массив:")<<endl<<endl;
  for(i=0; i<kol; i++) cout<<" "<<a[i]<<" ";
  for (i=imax=0; i<kol; i++) if (a[i]>a[imax]) imax=i;
  cout<<endl<<endl<<Rus(" Номер максимального элемента массива = ")<<imax+1<<endl;
  cout<<endl<<Rus(" Преобразованный массив: ");
  for(i=0; i<kol; i+=2) cout<<a[i]<<" ";                                //3
  cout<<"| ";
  for(i=1; i<kol; i+=2) cout<<a[i]<<" ";
  cout<<endl;
  int zero_2 = -1;
  int zero_1 = -1;
  for(i=0; i<kol; i++)
  {
    if(a[i]==0)
    {
      zero_1 = i;
      if (zero_2 == -1) zero_2 = i;
    }
  }
  if (zero_2 == -1 && zero_1 == -1) cout<<endl<<Rus(" Нет нулевых элементов!")<<endl;
  pr=1;
  if (zero_2 == -1 && zero_1 == -1)
  {
    return 0;
  }
  else
  {
    for(i=zero_2+1; i<zero_1; i++)
    {
      pr=pr*a[i];
    }
    cout<<endl<<Rus(" Произведение элементов, расположенных между нулевыми = ")<<pr<<endl;
  }
 
  return 0;
}
////////////////////
char bufRus[256];
char* Rus(const char* text)
{
    CharToOem(text, bufRus);
    return bufRus;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 14:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить массив вещественных чисел по убыванию модулей элементов и найти два числа по условию (C++):

Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива. - C++
Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива.

Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива - C++
11. Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива.

Упорядочить элементы векторов по убыванию модулей элементов - C++
Задайте два вектора А(n) и B(m). выполните задания: 1)найдите вектора С(n+m) с элементов векторо А и Б, сначала парных в порядке...

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

Упорядочить столбцы матрицы по убыванию модулей элементов в столбцах - C++
Дана действительная матрица. Упорядочить ее столбцы по убыванию модулей элементов в столбцах

Упорядочить элементы одномерного массива по убыванию модулей элементов - C++
Упорядочить элементы одномерного массива по убыванию модулей элементов.

5
GbaLog-
Любитель чаепитий
3078 / 1417 / 342
Регистрация: 24.08.2014
Сообщений: 5,040
Записей в блоге: 1
Завершенные тесты: 2
23.12.2015, 14:43 #2
anastalex, Легче самому с 0 написать.
Code
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
    int arr[n];
    int max = 0, sum = 0;
    int count = 0;
    for( int i = 0; i < n; i++ ) {
        cin >> arr[i];
        if( arr[max] < arr[i] ) max = i;
    }
    
    int a, b;
    cin >> a >> b;
    for( int i = 0; i < n; i++ ) {
        if( arr[i] >= a && arr[i] <= b ) count++;
    }
    cout << "1) " << count << "\n";
    for( int i = max+1; i < n-1; i++ ) {
        sum += arr[i];
    }
    cout << "2) " << sum << "\n";
    getch();
    return 0;
}
0
foton98
11 / 10 / 5
Регистрация: 20.12.2015
Сообщений: 38
23.12.2015, 15:42 #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
#include <iostream>
#include <windows.h>
#define n 5
 
using namespace std;
 
int main(int argc, char** argv){ 
    int mas[n];
    int i=0,max=0;
    
    cout<<" enter "<<n<<" numbers"<<endl;
    
    for (i=0; i<n; i++){cout<<"number "<<i+1<<"= "; cin>>mas[i];}   
    
    int sum=0;
    int imax=0;
    
    for (i=0; i<n; i++)
     if (mas[i]>mas[imax]) mas[imax]=mas[i];  
    cout<<endl<<endl<<" max = "<<mas[imax]<<"\n ";
    
    for (i=0;i<n;i++) if(i>imax)   sum=sum+mas[i];
    
    cout<<endl<<" sum = "<<sum;
    
    int flag=0;
   while (flag!=1)
    {
    flag = 1;
        for (i = 0; i < (n - 1); i++) 
        if (abs(mas[i]) < abs(mas[i + 1]))
    {
     int temp = mas[i];
     mas[i] = mas[i + 1];
     mas[i + 1] = temp;
     flag=0;
    }
 }
    for (i=0;i<n;i++) cout<<" "<<mas[i];
    
    cout<<"\n";
system("pause");
return 0;
}
1
anastalex
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 142
23.12.2015, 16:49  [ТС] #4
Выдаёт ошибку
0
Миниатюры
Упорядочить массив вещественных чисел по убыванию модулей элементов и найти два числа по условию  
anastalex
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 142
23.12.2015, 17:11  [ТС] #5
А, нет, спасибо, всё работает! С блок-схемой не поможете?

Добавлено через 6 минут
foton98, А не могли бы вы добавить в эту программ комментарии, а то не очень понятно, что получается в результате и что нужно ввести.
0
foton98
11 / 10 / 5
Регистрация: 20.12.2015
Сообщений: 38
23.12.2015, 23:49 #6
Цитата Сообщение от anastalex Посмотреть сообщение
то не очень понятно, что получается в результате и что нужно ввести
Что именно объяснить?
0
23.12.2015, 23:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2015, 23:49
Привет! Вот еще темы с ответами:

Упорядочить массив по убыванию элементов, найти минимальный элемент - C++
1) Найдите площадь ромба по его диагоналям. 2)Упорядочить массив В(10) по убыванию элементов, найти минимальный элемент. 3)Дана...

Проверить, упорядочены ли три заданных вещественных числа по возрастанию / убыванию и изменить их по условию - C++
Даны вещественные числа n, m, p. Если они упорядочены по возрастанию, заменить их квадратами. Если упорядочены по убыванию, увеличить в 2...

Задана квадратная матрица вещественных чисел. Найти сумму модулей элементов, которые находятся ниже главной диагонали C++ - C++
Буду благодарен Задана квадратная матрица вещественных чисел. Найти сумму модулей элементов, которые находятся ниже главной диагонали

Упорядочить массив по убыванию и найти сумму элементов строк, содержащих нули - C++
Дана целочисленная прямоугольная матрица размера M*N. • Упорядочить строки матрицы по убыванию суммы элементов строк методом прямого...


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

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

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