Дан массив из n элементов. Необходимо определить, есть ли в данном массиве элемент,...

0 голосов
230 просмотров

Дан массив из n элементов. Необходимо определить, есть ли в данном массиве элемент, равный заданному числу k

? Если есть, то вывести номер первого его вхождения.
Формат входных данных
С клавиатуры вводится натуральное число n (n≤100). На следующей строке через пробел вводятся n элементов массива. Все числа по модулю не превосходят 100. В последней строке вводится число k, (−100≤k≤100).

Формат выходных данных

В качестве ответа выведите номер искомого элемента. Если такого элемента нет, то вывести 0. С++, С ПОЯСНЕНИЯМИ


Информатика (78 баллов) | 230 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include

using namespace std;

int main()
{
    int n,k,i;
    int array[100];
    cin >> n;
    
    for(i=0; i    {
            cin >> array[i];
    }
    cin >> k;
    for(i=0; i    {
            if (k == array[i]){ break;}
    }
    if (k==array[i]) cout << i+1;<br>    else cout << 0;<br>    system("pause");
    return 0;
}

(34.0k баллов)
0

Что именно непонятно?

0

давай я тебе свою скину

0

#include
#include
#include
using namespace std;
int main() {
int y, a, b, k, n;
cin >> n;
int arr[100];
for (int i = 0; i < n; i++) {
cin >> a;
cin >> k;
arr[i] = a;
}
int x = 1;
for (int i = 0; i < n; i++) {
x += 1;
if (arr[i] == k) {
cout << x;<br> return 0;
}
}
cout << 0;<br> system("pause");
return 0;
}

0

cin>>k после цикла

0

Во-первых, k вводится по заданию в последней строке: в первой N, во второй массив, в третей k. А тут k вводится в цикле 100 раз

0

Во-вторых,
int x = 1;
for (int i = 0; i < n; i++) {
x += 1;
if (arr[i] == k) {
cout << x;<br>return 0;
}
}
cout << 0;<br>system("pause");
return 0;
}

Тогда уж:

int x = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == k) {
cout << x;<br>system("pause");
return 0;
}
x+=1;
}
cout << 0;<br>system("pause");
return 0;
}

Иначе проверка начинается со второго элемента.