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

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

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

Программа была написана для другой похожей задачи, помогите подстроить под следующие условия. "В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от A до В; 2) сумму элементов массива, расположенных после максимального элемента.
Упорядочить элементы массива по убыванию модулей элементов.
http://www.cyberforum.ru/cpp-beginners/thread456479.html

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

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

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

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

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

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

Добавлено через 6 минут
foton98, А не могли бы вы добавить в эту программ комментарии, а то не очень понятно, что получается в результате и что нужно ввести.
0
foton98
11 / 10 / 12
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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