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

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

23.12.2015, 14:05. Показов 1176. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2015, 14:05
Ответы с готовыми решениями:

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

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

Упорядочить по не убыванию массив, содержащий 15 вещественных чисел
1.Упорядочить по не убыванию массив, содержащий 15 вещественных чисел. 2.Дана непустая...

Упорядочить массив по убыванию модулей элементов. Исправить код
Здравствуйте. Требуется упорядочить массив по убыванию модулей элементов. Создал массив из...

5
Любитель чаепитий
3587 / 1687 / 519
Регистрация: 24.08.2014
Сообщений: 5,709
Записей в блоге: 1
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
11 / 10 / 12
Регистрация: 20.12.2015
Сообщений: 38
23.12.2015, 15:42 3
Лучший ответ Сообщение было отмечено anastalex как решение

Решение

Добрый день! Буду рад если смог помочь!
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
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 143
23.12.2015, 16:49  [ТС] 4
Выдаёт ошибку
0
Миниатюры
Упорядочить массив вещественных чисел по убыванию модулей элементов и найти два числа по условию  
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 143
23.12.2015, 17:11  [ТС] 5
А, нет, спасибо, всё работает! С блок-схемой не поможете?

Добавлено через 6 минут
foton98, А не могли бы вы добавить в эту программ комментарии, а то не очень понятно, что получается в результате и что нужно ввести.
0
11 / 10 / 12
Регистрация: 20.12.2015
Сообщений: 38
23.12.2015, 23:49 6
Цитата Сообщение от anastalex Посмотреть сообщение
то не очень понятно, что получается в результате и что нужно ввести
Что именно объяснить?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2015, 23:49

Массив целых чисел из 10 элементов заполнить случайным образом. Упорядочить массив по убыванию. Найти сумму квадратов
Массив целых чисел из 10 элементов заполнить случайным образом. Упорядочить массив по убыванию....

Сформировать массив из элементов массива, которые удовлетворяют условию, и упорядочить его по убыванию.
есть массив G={1;-3;8;-5;16;-13;-4;-8;-9;-12;-32;-23;0;40} нужно написать програму по условию Gk...

Упорядочить матрицу по убыванию модулей элементов
Столкнулся с проблемой вобщем нужно отсортировать двумерный массив по убыванию модулей...

Упорядочить элементы массива по убыванию модулей элементов
2)Упорядочить элементы массива по спаданию модулей элементов. (Visual studio)


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

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

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