Професионална програма
Loading...
+ Нов въпрос
V.Ivanova111 avatar V.Ivanova111 6 Точки

Проблем със задача 08. Condense Array to Number от Lab Arrays

Защо не работи?

using System;
using System.Linq;

namespace _08._Condense_Array_to_Number
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] nums = Console.ReadLine()
                .Split()
                .Select(int.Parse)
                .ToArray();
            if (nums.Length == 1)
            {
                Console.WriteLine(nums[0]);
            }
            else
            {
                int j = nums.Length;
                while (j > 1)
                { 
                    int[] condensed = new int[j - 1];
                    for (int i = 0; i < j-1; i++)
                    {
                        condensed[i] = nums[i] + nums[i + 1];
                    }
                    int[] nums = new int[j-1];
                    for (int i = 0; i < j; i++)
                    {
                        nums[i] = condensed[i];
                    }
                    j--;
                }
                Console.WriteLine(nums[0]);
            }
        }
    }
}

 

Тагове:
0
Fundamentals Module
Iv_Konov avatar Iv_Konov 385 Точки

Добро утро,

 

С малки корекции минава на 100/100:

 

===

                int j = nums.Length;
                while (j > 1)
                {
                    int[] condensed = new int[j - 1];
                    for (int i = 0; i < j - 1; i++)
                    {
                        condensed[i] = nums[i] + nums[i + 1];
                    }
                    nums = new int[j - 1]; // int[] nums = new int[j - 1] - явно от умора... не може да се декларираш масива два пъти
                    for (int i = 0; i < j - 1; i++) // int i = 0; i < j; i++  - дължината е нова
                    {
                        nums[i] = condensed[i];
                    }
                    j--;
                }

===

 

Допълнително, ако искаш, може да опростиш кода:

===

                    //nums = new int[j - 1]; 
                    //for (int i = 0; i < j - 1; i++) 
                    //{
                    //    nums[i] = condensed[i];
                    //}


                    nums = condensed;

===

 

Поздрави,

Иван

0
V.Ivanova111 avatar V.Ivanova111 6 Точки

Благодаря!

0
Iezhkv avatar Iezhkv 0 Точки

Пич , ти си гений.

0