0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 34
1

Поиск определенного числа в массиве, вывести на какой позиции находится этот элемент

08.09.2018, 17:07. Показов 6310. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, задание вроде не сложное, но не получается вывести позицию элемента, вот код

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
    static void Main(string[] args)
        {
            Console.WriteLine("Введите размер массива: ");
            int size = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Заполните массив: ");
            int[] arr = new int[size];
            for (int k = 0; k < arr.Length; k++)
            {
                Console.WriteLine($"{k} элемент массива: ");
                arr[k] = Convert.ToInt32(Console.ReadLine());
            }
 
            Console.WriteLine("Введите число, которое хотите найти в массиве:");
            int number = Convert.ToInt32(Console.ReadLine());
            int pos = 0;
            int j;
            for (j = 0; j < size; j++)
            {
                Console.WriteLine(j);
                pos++;
              }
            if (number == j)
            {
                Console.WriteLine($"Элемент находится на позиции {arr[j]},{pos}");
 
            }
            else
                {
                Console.WriteLine("Данного элемента нет в массиве!!!");
            }
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2018, 17:07
Ответы с готовыми решениями:

Напишите программу, которая определит какой элемент находится на позиции k
Дан одномерный массив целых чисел A. Напишите программу, которая определит какой элемент находится...

В массиве вычислить минимальный парный элемент, который находится на непарной позиции
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) минимальный парный елемент,...

Найти нулевой(ые) элемент(ы) в матрице, вывести на пересечение какой строки и столбца располагается(ются) этот(эти) элемент(ы)
Ребят, программа нужна срочно, мне на неё нужно много потратить времени, помогите. Язык Си.

Поиск определенного числа в массиве
В массиве А (20) определенное число случается несколько раз. Что это за число, сколько раз оно...

3
2 / 1 / 1
Регистрация: 22.04.2018
Сообщений: 2
08.09.2018, 17:20 2
Лучший ответ Сообщение было отмечено Rusya19 как решение

Решение

У Вас ошибка была в сравнении элементов. Вы сравнивали введенное число с позицией элемента, а не с самим элементом. И еще, вам не нужно считать позицию числа, для этого есть переменная j
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
for (j = 0; j < size; j++)
            {
                Console.WriteLine(j);
              }
            if (number == arr[j])
            {
                Console.WriteLine($"Элемент находится на позиции {arr[j]},{j}");
 
            }
            else
                {
                Console.WriteLine("Данного элемента нет в массиве!!!");
            }
0
0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 34
08.09.2018, 18:23  [ТС] 3
C#
1
if(number == arr[j])
на этой строчке вылетает программа "Индекс находился вне границ"

Добавлено через 6 минут
исправил, но теперь else выводится несколько раз

Добавлено через 3 минуты
все работает)
0
Модератор
Эксперт .NET
15789 / 10946 / 2843
Регистрация: 21.04.2018
Сообщений: 32,109
Записей в блоге: 2
08.09.2018, 19:05 4
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
static void Main(string[] args)
        {
            Console.Write("Введите размер массива: ");
            int size = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Заполните массив: ");
            int[] arr = new int[size];
            for (int k = 0; k < arr.Length; k++)
            {
                Console.Write($"{k} элемент массива: ");
                arr[k] = Convert.ToInt32(Console.ReadLine());
            }
 
            Console.Write("Введите число, которое хотите найти в массиве:");
            int number = Convert.ToInt32(Console.ReadLine());
 
            int pos = -1;
            for (int j = 0; j < arr.Length; j++)
            {
                if (number == arr[j]) { pos = j; break; }
            }
            if (pos >= 0) Console.WriteLine($"Элемент {number} находится на позиции {pos}");
            else Console.WriteLine($"Элемента {number} нет в массиве!!!");
 
            Console.WriteLine("Для закрытия нажмите любую клавишу...."); Console.ReadKey();
 
        }
0
08.09.2018, 19:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2018, 19:05
Помогаю со студенческими работами здесь

Вывести минимальный элемент матрицы, и потом на этот элемент поделить все ее числа
Дана матрица m*n. Рандомно заданые числа в ней. Вывести минимальный элемент, и потом на этот...

В массиве вывести номера позиций, на которых находится максимальный элемент
Б) Дан массив из 25 элементов. Вывести номера позиций, на которых находится максимальный элемент....

Найти максимальный элемент в матрице и продублировать столбец, в котором находится этот элемент
помогите доделать. нужно найти максимальный элемент в матрице и продублировать столбец в котором...

Найти наименьший элемент матрицы и записать в строку, где находится этот элемент
5. Найти наименьший элемент матрицы и записать в строку, где находится этот элемент 10. Размер...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru