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

вывод результатов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прототип функции чтения динамического списка из файла http://www.cyberforum.ru/cpp-beginners/thread591746.html
Всем доброго времени суток. У кого нибудь есть прототип функции чтения динамического списка из файла?
C++ Вывести окружность с максимальным количеством точек внутри окружности Уважаемые программисты , очень хочу попросить у вас помощи в написание одной программы! мне дали задание ,которое я совсем не могу написать. поэтому прошу помощи у вас, и надеюсь на вашу помощь!!... http://www.cyberforum.ru/cpp-beginners/thread591740.html
Синтаксический анализатор C++
Нужно написать синтаксический анализатор для одного маленького фрагмента программы, т.е. проверка правильности грамматического построения предложений исходного текста программы. Текст программы: ...
C++ Обмен данными между программами
Я в С++ не силён , но интерес есть , не могу найти в интернете по С++ чтобы две программы обменивались данными по протоколу http:80 . Как набрать в поиске ? по делфи нашел , а по с++ NULL false
C++ Вычисления количества простых чисел, принадлежащих отрезку http://www.cyberforum.ru/cpp-beginners/thread591688.html
Задание: Составить программу вычисления количества простых чисел, принадлежащих отрезку . Для проверки, является ли число простым, использовать функцию prostoe. Функция возвращает 1, если число...
C++ Определить, под каким знаком зодиака рожден человек Сессия скоро! Помогите с задачами плз! 1.Дана прямоугольная матрица A (N, M) (N M, M 15). Преобразовать матрицу таким образом, чтобы на месте первой строки находилась вторая, на месте второй –... подробнее

Показать сообщение отдельно
sergio632
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 9

вывод результатов - C++

30.05.2012, 20:29. Просмотров 301. Ответов 0
Метки (Все метки)

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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
#include <math.h>
#include<conio.h>
#include <stdlib.h>
 
const int n = 10;
 
void fill( float *a )
{
    std::srand( std::time( 0 ) );
    std::cout << "Vvedite mas"<<std::endl;
    for( int i = 0; i < n; i++ )
     {
      std::cout<<"a["<<i<<"] = ";
      std::cin>>a[ i ];
      std::cout << std::endl;
     }
     std::cout << std::endl;
    std::cout << "Array: ";
    for( int i = 0; i < n; i++ )
    {
 
        std::cout <<a[ i ]<<" ";
    }
    std::cout << std::endl;
}
 
float sumOdd( float *a )
{
    float sum = 0.0;
    for( int i = 0; i < n; i += 2 )
        sum += a[ i ];
 
    return sum;
}
 
float sumBetween( float *a )
{
    int first = -1,last = -1;
    for (int i = 0;i<n;++i)
    {
         if(a[ i ] < 0)
         {
         first = i;
         break;
         }
    }
    if(first == -1)
    {
        std::cout << "All elements >= 0" << std::endl;
        return 0;
    }
    for(int i = n-1;i>first;--i)
    {
        if(a[ i ]<0)
        {
            last = i;
            break;
        }
    }
    if(last == -1)
    {
        std::cout << "Just one element < 0" << std::endl;
        return 1;
    }
    if(first == last-1)
    {
        std::cout << "No element between first and last" << std::endl;
        return 1;
    }
     int sum = 0;
     for(int i = first+1;i<last;++i)
        sum += a[ i ];
     std::cout << sum << std::endl;
 
     return 0;
}
 
 
void compression( float *a )
{
    int c = 0, i = 0;
    while ( i < n - c )
    {
        if ( fabs( a[ i ] ) <= 1 )
        {
            for( int j = i; j < n - 1 - c; j++ )
            {
                float temp = a[ j ];
                a[ j ] = a[ j + 1 ];
                a[ j + 1 ] = temp;
            }
            a[ n - 1 - c ] = 0;
            c++;
        }
        else i++;
    }
    
    for( int i = 0; i < n; i++ )
        std::cout << " " << a[ i ];
    std::cout << std::endl;
}
 
int main()
{
    float *arr = new float [ n ];
 
    fill( arr );
 
    std::cout << "Sum1 = " << sumOdd( arr ) << std::endl;
    std::cout << "Sum2 = " << sumBetween( arr ) << std::endl;
    compression( arr );
 
    delete []arr;
        getch();
    return 0;
}
часть решения sumOdd и compression выводятся нормально, не могу понять, как правильно вывести результаты sumBetween.
само задание
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива расположенных между первым и вторым отрицательными элементами.
3)Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом все остальные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru