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

Вычислить количество элементов массива, равных 0 - C++

Восстановить пароль Регистрация
 
vampir3001
3 / 3 / 0
Регистрация: 18.10.2011
Сообщений: 102
18.12.2011, 14:32     Вычислить количество элементов массива, равных 0 #1
В одномерном массиве {3.24, 0, 2.28, 0, -3.22, 0, 2.88, -3.20, 0, 0} вычислить:

1) количествоых элементов массива, равных 0;
2) сумму элементов массива, расположенных после минимального элемента;
3) упорядочить элементы массива по возрастанию модулей элементов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S.L.I.M.
15 / 12 / 2
Регистрация: 03.02.2011
Сообщений: 96
18.12.2011, 15:28     Вычислить количество элементов массива, равных 0 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double mas[10] = {3.24, 0, 2.28, 0, -3.22, 0, 2.88, -3.20, 0, 0};
int kol=0;
//нахождения количества нулей
for(int i=0; i<10; i++)
{
    if(mas[i]==0)
        kol++;
}
int pos = 5;
int sum=0;
//нахождение суммы элементов
for(pos; pos<10; pos++)
    sum+=mas[i];
P.S. можешь поставить "Спасибо" )))))
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
18.12.2011, 16:17     Вычислить количество элементов массива, равных 0 #3
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
// ---------------------------------------------------------------------------
#pragma hdrstop
 
#include <conio.h>
#include <iostream>
#include <locale.h>
#include <malloc.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <tchar.h>
#include <time.h>
#include <windows.h>
 
using namespace std;
// ---------------------------------------------------------------------------
 
#pragma argsused
 
int _tmain( int argc, _TCHAR *argv[] )
{
    double arr[] = {3.24, 0, 2.28, 0, -3.22, 0, 2.88, -3.20, 0, 0};
    double sum, temp;
    int i, j, index, count0;
 
    int arr_size = sizeof( arr ) / sizeof( arr[0] ); // размер массива
 
    cout << "Given array:" << endl;
    for ( i = 0; i < arr_size; i++ ) { // выводим исходный массив
        cout << "arr[" << i << "] = " << arr[i] << endl;
    }
 
    for ( i = 0, count0 = 0, index = 0; i < arr_size; i++ ) {
        if ( arr[i] == 0 ) { // количество нулей
            count0++;
        }
        if ( i > 0 && arr[i] < arr[index] ) { // индекс минимального
            index = i;
        }
    }
 
    for ( i = index + 1, sum = 0; i < arr_size; i++ ) { // сумма после минимального
        sum += arr[i];
    }
 
    for ( i = 0; i < arr_size; i++ ) { // сортировка вставками по модулю
        temp = arr[i];
        for ( j = i - 1; j >= 0 && fabs( arr[j] ) > fabs( temp ); j-- ) {
            arr[j + 1] = arr[j];
        }
        arr[j + 1] = temp;
    }
    // выводим результаты
    cout << endl << "arr[] size = " << arr_size << "\t\t" << "count0 = " << count0 << endl
                   << "min index = " << index << "\t\t" << "summ after min = " << sum << endl << endl
                   << "Resulting array:" << endl;
    for ( i = 0; i < arr_size; i++ ) {
        cout << "arr[" << i << "] = " << arr[i] << endl;
    }
 
    system( "pause" );
    return 0;
 
}
// ---------------------------------------------------------------------------
Вывод:
Вычислить количество элементов массива, равных 0

Да, и вам явно не повредит проштудировать хотя бы здесь и здесь.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 16:28     Вычислить количество элементов массива, равных 0 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iterator>
#include <iostream>
#include <vector>
#include <algorithm>
 
template <class T> T gen() { return (rand() % 11 - 5); }
 
template <class T> bool comp(T a, T b) { return (abs(a) < abs(b)); }
 
int main()
{
    srand(time(NULL));
    std::vector<int> v(25);
    std::generate(v.begin(), v.end(), gen<int>);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::cout << "count of 0 = " << std::count(v.begin(), v.end(), 0) << std::endl;
    std::cout << "sum after min element = " << std::accumulate(std::min_element(v.begin(), v.end()) + 1, v.end(), 0) << std::endl;
    std::sort(v.begin(), v.end(), comp<int>);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
}
Yandex
Объявления
18.12.2011, 16:28     Вычислить количество элементов массива, равных 0
Ответ Создать тему
Опции темы

Текущее время: 20:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru