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

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

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

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

30.05.2012, 20:29. Просмотров 297. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вывод результатов (C++):

Вывод результатов - C++
Помогите пожалуйста сделать вывод более красивее: #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL,...

Вывод результатов с форматированием - C++
Добрый день. Простая задача с решением квадратного уравнения, проблема в том, что корни выводятся не в нужном мне формате, мне нужно, чтобы...

Тестирование, вывод результатов - C++
Доброго времени суток! у меня такой вопрос есть тест в котором нужно выбирать один из двух вариантов ответов либо А либо Б ...

Инкрементный вывод результатов деления в цикле - C++
Нужно сделать инкрементный вывод результатов деления в цикле. Например 44:11=4 и нужно чтобы к делимому и делителю каждый раз...

Пошаговый ввод данных и вывод результатов - C++
Даны натуральное число n, натуральные числа а1,...,an. Вычислить: a1+...+an

Табулирования функции и вывод результатов в таблице - C++
Составить программу вычисления функции с использованием оператора цикла с предусловием. Переменная х меняется с шагом h на заданном...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 20:29
Привет! Вот еще темы с ответами:

Выполнить вывод на экран результатов вычисления функции (C++) - C++
Только начал изучать C++ и не совсем понимаю как это сделать. Буду очень благодарен, если поможете!

Вывод результатов выполнения программы в текстовый файл - C++
Ребята, написал программу по поиску простых чисел в заданном диапазоне, решил результат выполнения этой программы, то есть все простые...

Вывод результатов работы потоков разными цветами - C++
Реализую параллельную сортировку методом Шелла. При этом нужно показать, какие перестановки какой из потоков выполнил, разукрасив строки...

Некорректный вывод результатов: что нужно исправить в коде? - C++
Приветствую есть код: #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; int main() { float a1,a2,b1,b2,c1,c2; printf(&quot;wwedite...


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

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

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