Помогите. пожалуйста. Напишите программу, которая проверяет, находится ли в массиве введенное с клавиатуры число, и какое оно по счету. Элементы массива и образец поиска вводятся пользователем.
Код к задаче: «Определить, находится ли в массиве введенное с клавиатуры число»
Листинг программы
program abc; var a:array[1..255] of integer; x,n,i:integer;f:boolean; begin writeln (‘Введите размерность массива:’); readln(n); writeln (‘Введите число:’); readln (x); f:=true; writeln (‘Заполните массив:’); for i:=1 to n do begin writeln (‘Введите ‘,i,’ элемент’); readln (a[i]); if (a[i]=x) then begin writeln (‘Число ‘,x,’ присутствует в массиве, его номер: ‘,i); f:=false; end; end; if f then writeln (‘Числа ‘,x,’ нет в массиве’); end.
Источник: studassistent.ru
Проверить, есть ли введенное число в массиве.
Очевидно это сообщение должно выводиться если l ненулевое.
Язык C++ с нуля | #31 Поиск элементов массива в c++
Отслеживать
ответ дан 16 дек 2015 в 14:42
Владимир Мартьянов Владимир Мартьянов
9,639 4 4 золотых знака 21 21 серебряный знак 35 35 бронзовых знаков
Ой, точно, спасибо.
16 дек 2015 в 14:44
16 дек 2015 в 14:45
16 дек 2015 в 15:01
В общем случае функция check написана некорректно, так как она не учитывает размер массива, а вместо этого использует в цикле «магическое число 5.
Правильно было бы написать функцию следующим образом
int check( const int massive[], size_t n, int chsl )
В main , которая в C должна иметь объявление
int main( void )
функцию можно вызывать следующим образом
if ( check( massive, sizeof( massive ) / sizeof( *massive ), chsl ) ) printf («Число есть в массиве!»); else printf («Такого числа в массиве нет!»);
l = check( massive, sizeof( massive ) / sizeof( *massive ), chsl ); if ( l ) printf («Число есть в массиве!»); else printf («Такого числа в массиве нет!»);
В C лучше никогда не проверять логические значения на точное равенство 1. Лучше делать проверку на неравенство 0 или на равенство 0.
Источник: ru.stackoverflow.com
C++: Есть ли число в массиве?
Если пояснять, то тут просходит следущее: в функцию передается число, которое нужно проверить на наличие в массиве, массив и размерность массива. Далее пробегая в цикле проверяем, совпало ли значение элемента с нашим числом? Если да — возвращаем истину, по окончании же цикла (если нашел бы — выкинул бы истину) возвращаем ложь.
Использование этой функции. Вся программа:
Найти лишнее число в массиве одинаковых элементов — JS Задачи
#include «stdafx.h»
#include
#include
#include
#include
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»,
for (int i=0; i numbers[i] = rand();//заполняем массив случайными числами
printf(«%d «, numbers[i]);//выводим его
>
printf(«n»);
printf(«Введите число для проверки:n»);
scanf(«%d»,
isNumberInMassive(k,numbers,N) ? printf(«Содержитсяn») : printf(«Не содержитсяn»);
>
bool isNumberInMassive(int k,int massive[],int size)
for (int i=0;i
if (k==massive[i])
return true;
>
>
return false;
>
После этого кода я хотел бы обратить внимание на строки
isNumberInMassive(k,numbers,N) ? printf(«Содержитсяn») : printf(«Не содержитсяn»); Это такой сокращенный вариант if. Синтаксис такой: bool_exp ? if_true : if_false.
В качестве булева выражения вызываем саму функцию, так как тип возвращаемого значения подходит, а в качестве действий просим писать в консоль.
- C++: Найти минимальный элемент в массиве
- С++: Проверка символа — цифра или нет
- C++: Cумма цифр в строке
- C++: Антисимметричная матрица
- Pascal, Си/C++, C# Определение совершенного числа