Массив умножить пары - PullRequest
       1

Массив умножить пары

0 голосов
/ 04 января 2019

Я должен создать код на C #, чтобы:

  • Попросить пользователя ввести произвольный набор чисел в массив и отобразить все введенные числа.Я сделал эту часть, и код работает правильно

  • Затем умножьте пары чисел вместе и отобразите результат.Если у вас нечетное количество чисел, просто отобразите последний номер.

    EG 2 3 8 4 становится 6 32 2 3 8 4 7 становится 6 32 7

Моя проблема с нечетными массивами.если у массивов четное число элементов, это не проблема, но если у массивов нечетное количество элементов, есть ошибки, никогда не печатать последний элемент.

Вот мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArrayDisplay
{
    class Array
    {
        static void Main(string[] args)
        {
            int[] array = new int[9];
            int userInput = -1;
            int itt = 0;
            int count = 0;

            Console.WriteLine("Enter a integer number or -1 to exit:");
            userInput = Convert.ToInt32(Console.ReadLine());
            count++;
            while (userInput != -1 && itt<array.Length)
            {

                array[itt] = userInput;
                itt++;

                Console.WriteLine("Enter a integer number or -1 to exit:");
                userInput = Convert.ToInt32(Console.ReadLine());
                count++;
            }
              Console.WriteLine("The array contains: ");

            for (int i = 0; i < array.Length; i++) {
                Console.Write(" {0} , "  ,array[i]);

            }
            Console.WriteLine("");
            Console.WriteLine("count {0}",count-1);

            if (count % 2 == 0)
            {
                for (int i = 0; i < array.Length; i += 2)
                {
                    Console.Write(" {0} , ", array[i] * array[i + 1]);
                }
            }
            else {
                for (int i = 0; i < array.Length; i += 2)
                {
                    Console.Write(" {0} , ", array[i] * array[i + 1])
                }
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Попробуйте это:

int[] array = new int[9];
            int userInput = -1;
            int itt = 0;
            int count = 0;

            Console.WriteLine("Enter a integer number or -1 to exit:");
            userInput = Convert.ToInt32(Console.ReadLine());
            count++;
            while (userInput != -1 && itt < array.Length)
            {

                array[itt] = userInput;
                itt++;
                if (count == 9) break;
                Console.WriteLine("Enter a integer number or -1 to exit:");
                userInput = Convert.ToInt32(Console.ReadLine());
                count++;
            }
            Console.WriteLine("The array contains: ");

            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(" {0} , ", array[i]);

            }
            Console.WriteLine("");
            Console.WriteLine("count {0}", count);

            if (count % 2 == 0)
            {
                for (int i = 0; i < array.Length; i += 2)
                {
                    Console.Write(" {0} , ", array[i] * array[i + 1]);
                }
            }
            else
            {
                for (



                    int i = 0; i < array.Length; i += 1)
                {
                    if (i == 7)
                    {
                        Console.Write(" {0} , ", array[i] * array[i + 1]);
                        break;
                    }

                    Console.Write(" {0} , ", array[i] * array[i + 1]);


                }
            }

            Console.ReadLine()

;

0 голосов
/ 04 января 2019

Поскольку 7 * 0 = 0, попробуйте ниже:

        if (count % 2 == 0)
        {
            for (int i = 0; i < array.Length - 1; i += 2)
            {
                Console.Write(" {0} , ", i == count - 2 ? array[i] : array[i] * array[i + 1]);
            }
        }
        else
        {
            for (int i = 0; i < array.Length - 1; i += 2)
            {
                Console.Write(" {0} , ", array[i] * array[i + 1]);
            }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...