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

Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем - C++

Восстановить пароль Регистрация
 
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
12.02.2014, 23:06     Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем #1
Ребят , есть задачи , а в частности нужно с помощью функций и деления по остатку (%) написать несколько программ , а именно :

1) Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем;

2) Реализовать функцию, которая принимает целое шестизначное число, проверяет, является ли оно "счастливым"(суммы первых трех и последних трех цифр совпадают) и возвращает true либо false;

3) Реализовать функцию, которая принимает массив, состоящий из шестизначных чисел и возвращает количество "счастливых" среди них.

Особенно не понимаю как с помощью % написать 3 задачу , ну а если " подтолкнете" в решение 1 и 2 задачи , я буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 23:06     Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем
Посмотрите здесь:

C++ Реализовать функцию, которая получает массив и возвращает количество простых чисел в нем.
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. C++
Написать функцию, которая принимает количество часов, и возвращает стоимость стоянки C++
Написать функцию, которая принимает количество часов, и возвращает стоимость стоянки C++
C++ Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++
Сделать функцию, которая принимает двумерный массив и возвращает индексы его максимального элемента(номер строки и столбца), с указателями, С++ C++
C++ Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями
Напишите функцию, которая принимает 3 аргумента целого типа(часы, минуты и секунды) и возвращает количество секунд C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
12.02.2014, 23:14     Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем #2
% - это остаток от деления. Если остаток равен нулю, то деление получается нацело.
К примеру 6%2 = 0, т.к. 6/2=3, то есть без остатка. Вот и решение первой задачки. Проверяй каждый элемент и инкрементируй счетчик.
Так же остаток от деления можно использовать для "отсечения" цифр числа.
Есть число 123456. Остаток от деления на 10 даст нам 6, на 1000 - 456. Вот и решение второй задачи.
Третья задача - это, так сказать комбинация первых двух.
Код писать не буду т.к. толку от копипаста мало да и просили "подтолкнуть".
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
12.02.2014, 23:37     Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем #3
Цитата Сообщение от _Firestarter_ Посмотреть сообщение
2) Реализовать функцию, которая принимает целое шестизначное число, проверяет, является ли оно "счастливым"(суммы первых трех и последних трех цифр совпадают) и возвращает true либо false;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
bool LakyNumber(int value)
{
    size_t Count(1);
    int SumFirst(0),SumLast(0);
    while(value>0)
    {
        Count<=3 ? SumFirst+=(value%10) : SumLast+=(value%10);
        Count++;
        value/=10;
    }
    return (SumFirst==SumLast) ? true : false;
}
 
int main()
{
    int value;
    std::cout<<"Input the value: ";
    std::cin>>value;
    std::cout<<std::boolalpha<<LakyNumber(value);
    return 0;
}
Добавлено через 9 минут
Цитата Сообщение от _Firestarter_ Посмотреть сообщение
Реализовать функцию, которая принимает массив, состоящий из шестизначных чисел и возвращает количество "счастливых" среди них.
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
#include <iostream>
bool LakyNumber(int value)
{
    size_t Count(1);
    int SumFirst(0),SumLast(0);
    while(value>0)
    {
        Count<=3 ? SumFirst+=(value%10) : SumLast+=(value%10);
        Count++;
        value/=10;
    }
    return (SumFirst==SumLast) ? true : false;
}
 
int main()
{
    int value,CountLakyNumber(0);
    size_t arraySize;
    std::cout<<"Input size: ";
    std::cin>>arraySize;
    int *array = new int [arraySize];
    std::cout<<"array: ";
    for(size_t i=0;i<arraySize;i++){
        std::cin>>array[i];
        CountLakyNumber += LakyNumber(array[i]) ? 1 : 0;
    }
    std::cout<<"Count of laky numbers: "<<std::boolalpha<<CountLakyNumber;
    return 0;
}
Добавлено через 9 минут
Цитата Сообщение от _Firestarter_ Посмотреть сообщение
Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем;
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
#include <iostream>
#include <cmath>
bool PrimeNumber(int value)
{
    for(size_t i=2;i<=sqrt((float)value);i++)
        if(value%i==0)
            return false;
    return true;
}
 
size_t CountPrime(int *arr,size_t size)
{
    size_t CountPrimeNumbers(0);
    for(size_t i=0;i<size;i++)
        CountPrimeNumbers+= PrimeNumber(arr[i]) ? 1 : 0;
    return CountPrimeNumbers;
}
 
int main()
{
    int value,CountLakyNumber(0);
    size_t arraySize;
    std::cout<<"Input size: ";
    std::cin>>arraySize;
    int *array = new int [arraySize];
    std::cout<<"array: ";
    for(size_t i=0;i<arraySize;i++)
        std::cin>>array[i];
    std::cout<<"Count of prime numbers: "<<CountPrime(array,arraySize);
    return 0;
}
Yandex
Объявления
12.02.2014, 23:37     Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем
Ответ Создать тему
Опции темы

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