C++: Есть ли число в массиве?

Задача: написать программу, которая заполняет массив из N элементов случайными числами и проверяет, есть ли в массиве введенное число

Сводится к написанию функции проверки есть ли оно.

1
2
3
4
5
6
7
8
9
10
11
bool isNumberInMassive(int k,int massive[],int size)
{
    for (int i=0;i<size;i++)
    {
        if (k==massive[i])
        {
            return true;
        }
    }
    return false;
}
bool isNumberInMassive(int k,int massive[],int size)
{
    for (int i=0;i<size;i++)
    {
        if (k==massive[i])
        {
            return true;
        }
    }
    return false;
}

Если пояснять, то тут просходит следущее: в функцию передается число, которое нужно проверить на наличие в массиве, массив и размерность массива. Далее пробегая в цикле проверяем, совпало ли значение элемента с нашим числом? Если да — возвращаем истину, по окончании же цикла (если нашел бы — выкинул бы истину) возвращаем ложь.

Использование этой функции. Вся программа:


#include "stdafx.h"
#include <locale.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
bool isNumberInMassive(int k,int massive[],int size);
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian");
srand(time(0));
int N;
int k;
int j=0;
int numbers[100];
printf("Введите число N:\n");
scanf("%d", &N);
for (int i=0; i<N; i++)
{
numbers[i] = rand();//заполняем массив случайными числами
printf("%d ", numbers[i]);//выводим его
}
printf("\n");
printf("Введите число для проверки:\n");
scanf("%d", &k);
isNumberInMassive(k,numbers,N) ? printf("Содержится\n") : printf("Не содержится\n");
}
bool isNumberInMassive(int k,int massive[],int size)
{
for (int i=0;i<size;i++)
{
if (k==massive[i])
{
return true;
}
}
return false;
}

После этого кода я хотел бы обратить внимание на строки

isNumberInMassive(k,numbers,N) ? printf(«Содержится\n») : printf(«Не содержится\n»); Это такой сокращенный вариант if. Синтаксис такой: bool_exp ? if_true : if_false.

В качестве булева выражения вызываем саму функцию, так как тип возвращаемого значения подходит, а в качестве действий просим писать в консоль.

Добавить комментарий