Подсчет суммы и произведения чисел, стоящих перед введенным числом - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Прошу помочь в написании несложной программы. Задача такова: пользователь вводит число. Если введенное число четное, то нужно найти сумму чисел, предшествующих этому числу, если нечетное - найти их произведение Вот мой код:
using System;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int[] str = new int[5] {1,2,3,4,5};        
            int n = Convert.ToInt32(str.Length);            
            int sum = 0, pr = 1;           
            for (int i = 1; i < n; i++)
            {
                Console.Write(str[i] + " ");
            }
            Console.WriteLine();    
            Console.Write("введи целое число: ");          
            int a = Convert.ToInt32(Console.Read());
            for (int i=1; i<n; i++) 
            {               
                    if (a % 2 == 0)
                    {                       
                        sum += str[i];
                    }
 
                    else
                    {
                        pr *= str[i];
                    }
             }
            Console.WriteLine("cумма эл-в меньше " + a + ": " + sum);
            Console.WriteLine("произв-е эл-в меньше " + a + ": " + pr);
            Console.ReadKey();
        }
    }
}
При запуске программы возникли следующие проблемы: 1. при выводе введенного числа (а) в консоль, вместо, например, введенной 4, выводится 52 2. вывод массива на экран начинается не с первого элемента, а со второго 3. произведение не подсчитывается, зато сумму считает в любом случае, при том все элементов массива, стоящих до и после введенного числа Что я делаю не так? Прилагаю скриншот работы программы:

Решение задачи: «Подсчет суммы и произведения чисел, стоящих перед введенным числом»

textual
Листинг программы
for (int i=0; i<n; i++) 
            {               
                    if ((a % 2 == 0) && (str[i] < a))
                    {
                        sum += str[i];
                    }
 
                    if ((a % 2!=0) && (str[i]<a))
                    {
                        pr *= str[i];
                    }
             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы