Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 26
1

Вывести на экран все элементы массива, принадлежащие отрезку [a,b]

28.03.2016, 08:44. Показов 2979. Ответов 6
Метки нет (Все метки)

Здравствуйте. Столкнулся вот с такой задачей:
"Дан массив из n элементов. Числа а и b (а<b). Вывести на экран все элементы массива, принадлежащие отрезку [a,b]. Поиск элементов и вывод оформить в пользовательской функции".

Задачу решил, но без своей функции. Пытаюсь создать свою функцию, но совершенно не понимаю какие параметры нужно ей передавать, visual studio выдаёт ошибки.

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
32
33
class Program
    {
        static void Main(string[] args)
        {
            int n,a,b;
            Console.Write("Введите количество элементов: ");
            n = int.Parse(Console.ReadLine());              //ввод количества элементов;
 
            Console.Write("Введите число a: ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Введите число b: ");
            b = int.Parse(Console.ReadLine());
            
            int[] myArray = new int[n]; 
            Random rand = new Random();                     //переменная типа рандом
             
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < n; i++)
            {
                myArray[i] = rand.Next(-20, 20);        //Заполнение массива
                Console.Write(myArray[i] + "\t");    //Вывод массива 
            }
            Console.WriteLine();
            for (int i = 0; i < n; i++)
            {
                if (myArray[i] >= a && myArray[i] < b) //Проверяем каждый индекс в массиве
                {
                    Console.Write(myArray[i] + "\t"); //вывод пребразованного массива
                }
            }
            Console.ReadKey();
         }
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2016, 08:44
Ответы с готовыми решениями:

Вывести все четные элементы массива стоящие на четных местах, принадлежащие отрезку CD.
Дан целочисленный двумерный массив 5х5. Вывести все четные элементы массива стоящие на четных...

Вывести на экран все числа, принадлежащие отрезку [m, n] и кратные 7
Доброго времени суток. Возник вопрос с этой задачей. Нужно сделать в форме, однако можно написать...

Удалить все элементы массива, принадлежащие отрезку [-а,а]
Удалить все элементы массива, принадлежащие отрезку const n=10; var a:array of integer;...

Вывести на экран все простые числа , принадлежащие числовому отрезку от A до B
Вывести на экран все простые числа , принадлежащие числовому отрезку от A до B

6
528 / 430 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
28.03.2016, 08:50 2
Цитата Сообщение от Amfore Посмотреть сообщение
совершенно не понимаю какие параметры нужно ей передавать
ей нужно передавать массив, a и b.
1
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 26
28.03.2016, 09:00  [ТС] 3
Вот так получается?
C#
1
2
3
4
public void myFunc(int[] myArray, int a, int b)
        {
                
        }
0
528 / 430 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
28.03.2016, 09:02 4
Да.
1
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 26
28.03.2016, 09:13  [ТС] 5
Вызываю её в главной функции, но ругается на то, что она не принимает "0" аргументов.

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
32
33
34
35
class Program
    {
        static void Main(string[] args)
        {
            int n, a, b;
            Console.Write("Введите количество элементов: ");
            n = int.Parse(Console.ReadLine());              //ввод количества элементов;
 
            Console.Write("Введите число a: ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Введите число b: ");
            b = int.Parse(Console.ReadLine());
 
            int[] myArray = new int[n];
            Random rand = new Random();                     //переменная типа рандом
 
            Console.WriteLine("Исходный массив: ");
            for (int i = 0; i < n; i++)
            {
                myArray[i] = rand.Next(-20, 20);        //Заполнение массива
                Console.Write(myArray[i] + "\t");    //Вывод массива 
            }
            myFunc();
        }
        public void myFunc(int[] myArray, int a, int b, int n)
        {
            for (int i = 0; i < n; i++)
            {
                if (myArray[i] >= a && myArray[i] < b) //Проверяем каждый индекс в массиве
                {
                    Console.Write(myArray[i] + "\t"); //вывод пребразованного массива
                }
            }
        }
    }
0
102 / 104 / 42
Регистрация: 11.01.2016
Сообщений: 1,013
28.03.2016, 09:45 6
Лучший ответ Сообщение было отмечено Amfore как решение

Решение

Amfore,
Когда вызываешь процедуру
Цитата Сообщение от Amfore Посмотреть сообщение
myFunc();
нужно ей передать параметры таким образом
C#
1
 myFunc(myArray,  a,  b,  n);
Процедуру
Цитата Сообщение от Amfore Посмотреть сообщение
C#
1
public void myFunc(int[] myArray, int a, int b, int n)
Сделать статической
C#
1
static public void myFunc(int[] myArray, int a, int b, int n)
Т.к метод Main статический, а статические методы не могут обращаться к не статическим полям.

Советую в процедуре твоей перед
Цитата Сообщение от Amfore Посмотреть сообщение
C#
1
for (int i = 0; i < n; i++)
Вставить
C#
1
Console.WriteLine("Преобразованный массив: ");
Чтобы оттенить работу процедуры.
1
528 / 430 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
28.03.2016, 09:59 7
Цитата Сообщение от Amfore Посмотреть сообщение
ругается на то, что она не принимает "0" аргументов
Она принимает 3 аргумента. Почему ты ни один не передаешь?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2016, 09:59

Все неотрицательные элементы массива, не принадлежащие отрезку [b, d], заменить на единицу
В целочисленном массиве A(N) все неотрицательные элементы, не принадлежащие отрезку , заменить на...

Все неотрицательные элементы массива, не принадлежащие отрезку, заменить на единицу
Сижу на практике,осталась 1 задача. Вообще внепонятия как ее решить. Хелп. Дан массив A из...

Два массива. Выбрать элементы, принадлежащие отрезку
Народ помогите пож-та с прогой. &quot;Даны массивы A(N) и B(M). Выбрать из них элементы, принадлежащие...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.