Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

solowey
Статус: Профессионал
Рейтинг: 555
∙ повысить рейтинг »
CradleA
Статус: Профессор
Рейтинг: 537
∙ повысить рейтинг »
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0
∙ повысить рейтинг »

∙ .NET Framework / C# / Java

Номер выпуска:309
Дата выхода:27.04.2020, 18:45
Администратор рассылки:Коцюрбенко Алексей Владимирович (Старший модератор)
Подписчиков / экспертов:24 / 16
Вопросов / ответов:1 / 1

Консультация # 198334: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Есть код, помогите написать поиск номеров всех нечетных элементов в массиве. (там есть отдельная функция для этого, выделила комментарием ): ...

Консультация # 198334:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:


Есть код, помогите написать поиск номеров всех нечетных элементов в массиве. (там есть отдельная функция для этого, выделила комментарием ):

Дата отправки: 22.04.2020, 18:31
Вопрос задал: niktop1 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует solowey (Профессионал):

Здравствуйте, niktop1!
Вот пример как можно было сделать ваш метод:

using System;

namespace z2
{
    class Program
    {
        static void RanArr(int[] a) //функция заполнения массива случайными элементами
        {
            Random rnd = new Random();
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = rnd.Next(-13, 13);
            }
        }
        static void PrintArr(int[] a) //функция вывода массива
        {
            for (int i = 0; i < a.Length; i++) Console.Write("{0} ", a[i]);
            Console.WriteLine();
        }
        static string NechNom(int[] a) //функция поиска нечетных номеров
        {
            var arrey = string.Empty;
            for(var i = 0; i < a.Length; ++i)
            {
                if (a[i] % 2 == 0)
                    continue;

                arrey += i + " ";
            }

            return arrey;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Заполнение массива случайными значениями");
            Console.WriteLine("Программа создает одномерный массив из 12 случайных чисел из диапазона [-13; 13],");
            Console.WriteLine("и выводит на экран номера всех нечетных элементов."); //инструкция к программе
            string k; //переменная для получения результата
            int[] a = new int[12]; //создание массива
            RanArr(a); //вызов функции заполнения массива случайными числами
            Console.WriteLine();
            Console.WriteLine("Создан случайный массив:");
            PrintArr(a); //вызов функции вывода массива
            k = NechNom(a); //вызов функции поиска номеров всех нечетных элементов
            Console.WriteLine();
            Console.WriteLine("Номера всех нечетных элементов: {0}", k); //вывод результатов
            Console.ReadLine();
        }
    }
}


rnd.Next(-13, 12);

Console.WriteLine("Программа создает одномерный массив из 12 случайных чисел из диапазона [-13; 13],");

Почему у вас условия и реализация отличаются?

static double NechNom(int[] a) //функция поиска нечетных номеров

Как вы себе представляете передать набор номеров представить в виде числа с плавающей точкой (double)? Как вы хотели представить набор: 1, 3, 5, 11 в виде double? Поясните пожалуйста.

По методу WriteLine(). Этот метод выводит содержимое в одну строку. Он сам переводит каретку на новую строку. В нем нет необходимости использовать \n, если вы только не хотите принудительно еще раз сделать перевод на новую строку. Почитайте тут.

Console.WriteLine("Номера всех нечетных элементов: ", k); // такой код работать не будет, т.к. 2 аргумент нигде в строке не использован

Читайте тут.

В функциях нужно добавить проверку на пустой массив:
if (a == null) throw new ArgumentNullException(nameof(a)); // как пример


Подумайте как еще можно улучшить код. Там есть что сделать...

Консультировал: solowey (Профессионал)
Дата отправки: 23.04.2020, 09:56
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное