Софтуерно Инженерство
Loading...
+ Нов въпрос
nika_29 avatar nika_29 2 Точки

Сума на съседни еднакви числа

Здравейте.Може ли решението на тази задача-

Напишете програма, която сумира всички съседни еднакви числа в списък от цели числа, започвайки отляво надясно.

  • След като две числа са сумирани, полученият резултат може да бъде равен на някой от другите му съседи, което означава, че също трябва да се сумира (вижте примерите).
  • Винаги сумирайте най-левите две еднакви числа (ако има няколко двойки от еднакви числа).

Примери

Вход

Изход

Обяснение

3 3 6 1

12 1

3 3 6 1 à 6 6 1 à 12 1

8 2 2 4 8 16

16 8 16

8 2 2 4 8 16 à 8 4 4 8 16 à 8 8 8 16 à 16 8 16

5 4 2 1 1 4

5 8 4

5 4 2 1 1 4 à 5 4 2 2 4 à 5 4 4 4 à 5 8 4

Тагове:
0
Programming Fundamentals
TeodorStefanovPld avatar TeodorStefanovPld 1174 Точки

един while цикъл и в него един for цикъл,и проверяваш

arr[i]==arr[i+]

ако е вярно събираш числата записваш новото оразмеряваш масива, слагаш една bool проверка че ти е true break-ваш и продължаваш с следващата итерация на while-a докато не върнеш false че вече нямаш съседни едкави числа и толкова.

нещо от сорта на :

var arr=Console.ReadLine().split().Select(int.Parse).toArray();

var run=true;

while(run){

      for(int i=0;i<arr.Length;i++){

        if(arr[i]==arr[i+1]){

       arr[i]=arr[i]+arr[i+1];

      run=true;

//тук оразмеряваш масива с новите индекси

break; неискаш да въртиш след като си намерила най-лявата еднаква 2ка вече.

}

run=false;

}

}

и накрая console.WriteLine(string.Join('' ",arr);

нещо такова. 

0