Форум программистов, компьютерный форум CyberForum.ru

Подправить прогу( - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести значения на интервале http://www.cyberforum.ru/cpp-beginners/thread704896.html
Создать функцию C + +, которая вычисляет значение математической функции точностью e. Математическая функция задана расписанию в ряд Тейлора. Используя созданную функцию пользователя вычислить и вывести на экран в виде таблицы значения математической функции на интервале от Xbegin к Xend с шагом dX и точностью e. Пределов интервала Xbegin, Xend, шаг dX и точность e должны вводиться с клавиатуры....
C++ нужны Коментарии к програмам #include<iostream.h> #include<conio.h> #include<stdlib.h> #define n 100 void sort( int mas) http://www.cyberforum.ru/cpp-beginners/thread704895.html
Вычислить значение функции C++
помогите написать программу на языке си++ F(x)=cos x+4x
const C++
объясните мне пожалуйста почему в конце объявления функций нужно писать const? точнее почему в данной ситуаций.. bool empty() const; или const int& top() const;
C++ Обработка массива символов http://www.cyberforum.ru/cpp-beginners/thread704878.html
Создать символьный массив из 10-ти или меньшего кол-ва элементов,программа меняет местами второй и последний введенный элемент посмотрите пожалуйста , программа работает правильно или нет ? и есть ли какие-то замечания у Вас #include<iostream> #include<math.h> #include <stdio.h> #include <conio.h> #include<cstdlib> using namespace std;
C++ ошибку выдает aeroflot::naz is not accesible. ошибку выдает aeroflot::naz is not accesible. Модет у кого-то есть рабочая програма по аэрофлоту или исправьте пожалуста эту( на завтра очень нужно. #include <iostream.h> #include <string.h> #include <stdlib.h> class aeroflot { char naz; int number; char tip; подробнее

Показать сообщение отдельно
Adm!n
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 17
21.11.2012, 22:03     Подправить прогу(
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1)Кол-во положительных элементов массива
2)Сумму элементов массива, расположенных после последнего элемента, равного нулю
3)Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные.

Все работает,но препод докапалась до того,что когда в 3 пункте сортируется массив,то все значения выстраиваются от меньшего к большему,а должно быть так,что сначала идут значения,целая часть которых меньше 1,а потом все остальные числа в таком порядке,как были введены с клавиатуры(

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
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
 
using namespace std;
 
void pologit(double *a,int n,int k);            // Прототип ф-ции, вычисляющей количество положительных элементов массива
double summa(double *a,int n,int y,double sum); // Прототип ф-ции, вычисляющей сумму элементов массива, расположенных после
                                              // последнего элемента, равного нулю
void sortirovka(double *a,int n);   // Прототип ф-ции сортировки. Преобразовать массив таким образом, чтобы сначала располагались
                                              // все элементы, целая часть которых не превышает 1, а потом все остальные
 
int main()
{
    setlocale ( LC_ALL, "Russian" );
 
    int n,y=-1,k=0,j=0;
    double sum=0;
 
    cout << "Введите количество элементов массива: ";
    cin >> n;
 
    double *a = new double[n]; // Выделение памяти под массив
 
    cout << "Введите элементы массива: ";
    for (int i=0; i < n; i++) 
        cin >> a[i];
    
    cout << "Введенный массив: ";
    for (int i=0; i < n; i++)
        cout << a[i] << " ";
 
    pologit(a,n,k); // Ф-ция, вычисляющая количество положительных элементов массива
 
    cout << "Сумма эл-тов массива, располож. после посл. эл-та, равного нулю: " << summa(a,n,y,sum) << endl;
 
    cout << "Сортировка массива: ";
 
    sortirovka(a,n); // Ф-ция сортировки. Преобразовать массив таким образом, чтобы сначала располагались
                        // все элементы, целая часть которых не превышает 1, а потом все остальные
    cout << endl;
 
    
 system("pause");
 return 0;
}
 
void pologit(double *a,int n,int k) // Ф-ция, вычисляющая количество положительных элементов массива
{
    for (int i=0;i<n; i++)
        {
            if (a[i]>0)
            k++;
        }
    cout << endl;
    cout <<"Итого положительных элементов: " << k << endl;
}
 
double summa(double *a,int n,int y,double sum) // Ф-ция, вычисляющая сумму элементов массива, расположенных после
                                            // последнего элемента, равного нулю
{
    for (int i=0; i < n; i++)
    {
        if (a[i]==0)
        {
            y=i;
        }
    }
    for (int i=y; (i < n) && y!=-1; i++)
     sum+=a[i];
return sum;
}
 
void sortirovka(double *a,int n) // Ф-ция сортировки. Преобразовать массив таким образом, чтобы сначала располагались
                                           // все элементы, целая часть которых не превышает 1, а потом все остальные
{
      double x = 0.0; 
   
   for (int i = 0; i < n; i++)
    {
        for (int b = 1; b+i < n; b++)
        {
            if (abs(a[i]) > abs(a[b+i])!=0)
              {
                         x = a[i];
                         a[i] = a[b+i];
                         a[b+i] = x;
              }
        }
    }
    
    for (int i = 0; i < n; i++)
    cout << a[i]<<" ";
    cout<<endl;    
 
}
Миниатюры
Подправить прогу(  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru