Telerik Academy Alpha- C# Mock Exam- Merging and Squashing


0

Здравейте! 

Имам проблем с втора задача от пробния изпит по C#! Получавам 60/100 и не мога да разбера къде греша! Ето го и кода: 

https://pastebin.com/WgTVX7mx

Благодаря Ви за времето, което сте отделили, и за Вашите отговори!

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int c = int.Parse(Console.ReadLine()); int[] TheNumbers = new int[c]; int[] Index = new int[c]; int[] TheFirstResults = new int[500]; int[] TheSecoundResults = new int[500]; for (int i = 0; i < c; i++) { TheNumbers[i] = int.Parse(Console.ReadLine()); } int p = 0; int f = 0; while (p < (c - 1)) { int digit = TheNumbers[p] % 10; int ddigit = (TheNumbers[p + 1] / 10) % 10; TheFirstResults[f] = digit * 10 + ddigit; f++; p++; } for (int j = 0; j <= f-2; j++) { Console.Write(TheFirstResults[j] + " "); } Console.Write(TheFirstResults[f-1]); p = 0; f = 0; while (p < (c - 1)) { int firstdigit = (TheNumbers[p]/10) % 10; int secounddigit = TheNumbers[p] % 10; int thirddigit = (TheNumbers[p + 1] / 10) % 10; int fourthdigit = TheNumbers[p + 1] % 10; if (secounddigit + thirddigit >= 10) { TheSecoundResults[f] = firstdigit * 100 + ((secounddigit + thirddigit)%10) * 10 + fourthdigit; } else TheSecoundResults[f] = firstdigit * 100 + (secounddigit + thirddigit) * 10 + fourthdigit; p++; f++; } Console.WriteLine(); for (int k = 0; k <= f-2; k++) { Console.Write(TheSecoundResults[k] + " "); } Console.Write(TheSecoundResults[f-1]); } } }




Отговори



0
Масивите TheFirstResults и TheSecondResults ти гърмят с IndexOutOfRange. Като ги направиш int[] TheFirstResults = new int[1024]; int[] TheSecoundResults = new int[1024]; задачата минава. Ето ти и моето решение: Цък

от Arnaudov_St (394 точки)


0
Благодаря много!

от kiril_surf (0 точки)