Masz zobacz napisalem ci w c# :
EDIT: Według wskazówek n0name_l zmieniłem ten program i ma się następująco xD
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WriteNumbers
{
/*
* Odwróć kolejność elementów w tablicy.
Wejście
Najpierw liczba testów t (t ≤ 100). Następnie dla każdego testu liczba n (n ≤ 100) i n liczb oddzielonych spacjami.
Wyjście
Dla każdego testu n liczb w porządku odwrotnym niż na wejściu.
Przykład
Wejście:
2
7 1 2 3 4 5 6 7
3 3 2 11
Wyjście:
7 6 5 4 3 2 1
11 2 3
*/
class Program
{
static bool TranslateTokensToListOfNumbers(string[] tokens, out List<int> eachTest)
{
eachTest = new List<int>();
for (int i = 0; i < tokens.Count(); i++)
{
int number;
if (int.TryParse(tokens[i], out number))
{
eachTest.Add(number);
}
else
{
eachTest = null;
return false;
}
}
return true;
}
static void Main(string[] args)
{
ReverseOrder reverseOrder = new ReverseOrder();
int tests;
string consoleInput;
consoleInput = Console.ReadLine();
while (!int.TryParse(consoleInput, out tests) || (!reverseOrder.CheckCountOfTests(tests)))
{
Console.WriteLine("Podales nieprawidlowe dane lub nie podales liczby w przedziale (" + ReverseOrder.minCountOfTests + "," + ReverseOrder.maxCountOfTests+")");
consoleInput = Console.ReadLine();
}
reverseOrder.CountOfTests = tests;
for (int i = 0; i < reverseOrder.CountOfTests; i++)
{
List<int> eachTest ;
string[] tokens = Console.ReadLine().Split();
while (!TranslateTokensToListOfNumbers(tokens, out eachTest) || !reverseOrder.CheckTestNumbers(eachTest))
{
Console.WriteLine("Podales nieprawidlowe dane lub nie podales pojedynczej liczby n w przedziale(" + ReverseOrder.minValueOfNumber + "," + ReverseOrder.maxValueOfNNumber + ")");
tokens = Console.ReadLine().Split();
}
reverseOrder.Numbers.Add(eachTest);
}
reverseOrder.WriteAllNumbers();
Console.ReadLine();
}
}
}
ReverseOrder.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WriteNumbers
{
class ReverseOrder
{
public const int minCountOfTests = 0;
public const int maxCountOfTests = 100;
public const int minValueOfNumber = 0;
public const int maxValueOfNNumber = 100;
public ReverseOrder()
{
Numbers = new List<List<int>>();
}
public List<List<int>> Numbers { get; set; }
public int CountOfTests { get; set; }
public bool CheckCountOfTests(int countOfTests)
{
if ((countOfTests > minCountOfTests) && (countOfTests<= maxCountOfTests)) return true;
return false;
}
public bool CheckValueOfN(int nNumberValue)
{
if ((nNumberValue > minValueOfNumber) && (nNumberValue <= maxValueOfNNumber)) return true;
return false;
}
public bool CheckTestNumbers(List<int> numbers)
{
if (numbers == null) return false;
if (numbers.Count == 0) return false;
if (numbers.First() != numbers.Count - 1) return false;
return true;
}
public void WriteAllNumbers()
{
for (int i = 0; i < CountOfTests; i++)
{
for (int j = Numbers[i].Count - 1; j > 0; j--)
{
Console.Write(Numbers[i][j] + " ");
}
Console.WriteLine();
}
}
}
}