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

Заполнить массив случайными числами и определить количество элементов, отличных от последнего - C++

Восстановить пароль Регистрация
 
Cmiki
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 5
21.08.2016, 14:11     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #1
2. Дан массив из 50 чисел. Заполните его случайными числами. Определить, сколько в нем элементов, отличных от последнего элемента. Вывести их количество.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2016, 14:11     Заполнить массив случайными числами и определить количество элементов, отличных от последнего
Посмотрите здесь:

Создать и заполнить массив случайными числами и вычислить сумму его элементов C++
Заполнить массив случайными целыми числами. Подсчитать, сколько элементов в массиве принадлежат определенному интервалу C++
C++ Заполнить массив случайными числами от -50 до 50
Заполнить массив случайными числами и определить, является ли он симметричным C++
Заполнить массив случайными числами в заданном интервале и подсчитать отдельно среднее значение всех элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peoples
721 / 381 / 343
Регистрация: 06.02.2016
Сообщений: 1,014
Записей в блоге: 10
Завершенные тесты: 3
21.08.2016, 14:49     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
const int k=50;
int main() {
    srand(time(NULL));
    int a[k];
    for(size_t i=0; i!=k; i++) {
        a[i]=rand()%20;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    int c=0;
    for(size_t i=0; i!=k; i++)
        if(a[i]!=a[k-1]) {
            c++;
        }
    cout<<c<<endl;
}
GbaLog-
Не Эксперт C++
1522 / 626 / 176
Регистрация: 24.08.2014
Сообщений: 2,542
Записей в блоге: 1
Завершенные тесты: 2
21.08.2016, 14:56     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #3
Peoples, А можно и в один проход, если начать генерировать с конца.
Peoples
721 / 381 / 343
Регистрация: 06.02.2016
Сообщений: 1,014
Записей в блоге: 10
Завершенные тесты: 3
21.08.2016, 16:54     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #4
Можно вообще так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
    srand(time(NULL));
    const int k=10;
    int a[k];
    for(size_t i=0; i!=k; i++) {
        a[i]=rand()%20;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    int c=count_if(a,a+k,bind2nd(not_equal_to<int>(),a[k-1]));
    cout<<c<<endl;
    return 0;
}
GbaLog-
Не Эксперт C++
1522 / 626 / 176
Регистрация: 24.08.2014
Сообщений: 2,542
Записей в блоге: 1
Завершенные тесты: 2
21.08.2016, 17:19     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #5
Peoples, А что, если в count_if тоже цикл? Непроизводительно получается, для такой задачки, конечно, 2 циклa -- нормально.
Peoples
721 / 381 / 343
Регистрация: 06.02.2016
Сообщений: 1,014
Записей в блоге: 10
Завершенные тесты: 3
21.08.2016, 17:24     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #6
GbaLog-, Как то не подумал про цикл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2016, 17:25     Заполнить массив случайными числами и определить количество элементов, отличных от последнего
Еще ссылки по теме:

Заполнить массив случайными числами; найти количество элементов массива, равных 50, и их индексы C++
Определить количество элементов массива, отличных от последнего элемента и их суммы C++
Дан Двумерный массив размером заполненный случайными числами, количество элементов 20, все положительные. 1.Оп C++

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

Или воспользуйтесь поиском по форуму:
GbaLog-
Не Эксперт C++
1522 / 626 / 176
Регистрация: 24.08.2014
Сообщений: 2,542
Записей в блоге: 1
Завершенные тесты: 2
21.08.2016, 17:25     Заполнить массив случайными числами и определить количество элементов, отличных от последнего #7
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
///////////////////////////////////////////////////////////////////////////////
//2. Дан массив из 50 чисел. Заполните его случайными числами. Определить,
//сколько в нем элементов, отличных от последнего элемента.
//Вывести их количество.
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <random>
#include <ctime>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    std::mt19937 gen( std::time( nullptr ) );
    int arr[50]{};
    int count{};
    arr[49] = gen();
    for( int i = 0; i < 49; ++i )
    {
        arr[i] = gen();
        if( arr[i] != arr[49] )
        { ++count; }
        std::cout 
            << arr[i] 
            << std::endl;
    }
    std::cout
        << arr[49]
        << std::endl
        << count
        << std::endl;
}
Кстати, числа совершенно случайные, поэтому вероятность, что count будет меньше 49 крайне мала.
Yandex
Объявления
21.08.2016, 17:25     Заполнить массив случайными числами и определить количество элементов, отличных от последнего
Ответ Создать тему
Опции темы

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