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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Прототип функции чтения динамического списка из файла http://www.cyberforum.ru/cpp-beginners/thread591746.html
Всем доброго времени суток. У кого нибудь есть прототип функции чтения динамического списка из файла?
C++ Вывести окружность с максимальным количеством точек внутри окружности Уважаемые программисты , очень хочу попросить у вас помощи в написание одной программы! мне дали задание ,которое я совсем не могу написать. поэтому прошу помощи у вас, и надеюсь на вашу помощь!! задание : Вывести окружность с max количеством точек(произвольно расположенных) внутри , которая проходит через 3 точки! к примеру N точек = 100, окружность радиусом R=10!. да и окружность должна... http://www.cyberforum.ru/cpp-beginners/thread591740.html
Синтаксический анализатор C++
Нужно написать синтаксический анализатор для одного маленького фрагмента программы, т.е. проверка правильности грамматического построения предложений исходного текста программы. Текст программы: if (CEdit1.Text='') and (Kedit2.Text='') then begin ShowMessage('Please enter data');exit end; Это должно быть просто окно, куда я вставляю код и при нажатии кнопки либо выдаётся сообщение что...
C++ Обмен данными между программами
Я в С++ не силён , но интерес есть , не могу найти в интернете по С++ чтобы две программы обменивались данными по протоколу http:80 . Как набрать в поиске ? по делфи нашел , а по с++ NULL false
C++ Вычисления количества простых чисел, принадлежащих отрезку http://www.cyberforum.ru/cpp-beginners/thread591688.html
Задание: Составить программу вычисления количества простых чисел, принадлежащих отрезку . Для проверки, является ли число простым, использовать функцию prostoe. Функция возвращает 1, если число является простым, а 0 - в противном случае. / / Функция проверяет, является ли число простым int prostoe (int n) {Int d, r; d = 2; do { r = n% d; if (r! = 0) d + +; } while (r! = 0); / / пока n не...
C++ Определить, под каким знаком зодиака рожден человек Сессия скоро! Помогите с задачами плз! 1.Дана прямоугольная матрица A (N, M) (N M, M 15). Преобразовать матрицу таким образом, чтобы на месте первой строки находилась вторая, на месте второй – третья, и т.д., а на месте последней - первая. 2.Даны натуральные числа n и k. Определить k-ю слева цифру числа n. 3.Введите число и месяц рождения. Определить, под каким знаком зодиака рожден... подробнее

Показать сообщение отдельно
sergio632
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 9
30.05.2012, 20:29     вывод результатов
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, а потом все остальные.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru