Skip to content

Latest commit

 

History

History
108 lines (86 loc) · 2.26 KB

File metadata and controls

108 lines (86 loc) · 2.26 KB

Problema

38 - Considera o seguinte método Main():

static void Main(string[] args)
{
    // Declaração de variáveis
    int n;
    int[] numbers;

    // Pedir ao utilizador o tamanho do array de inteiros
    Console.Write("Qual o tamanho do array?");
    n = Convert.ToInt32(Console.ReadLine());

    // Gerar números de 1 até n
    numbers = CreateNumbersToN(n);

    // Inverter os conteúdos do array
    Reverse(numbers);

    // Imprimir os conteúdos do array
    PrintNumbers(numbers);
}

Implementa, dentro da classe Program, os métodos CreateNumbersToN(), Reverse() e PrintNumbers() de modo a que façam o que está indicado nos respetivos comentários no método Main().

Soluções

Solução 1

static int[] CreateNumbersToN(int n)
{
    int[] numbers = new int[n];

    // Ciclo for que gera os nºs de 1 a n
    for (int i = 0; i < n; i++)
    {
        numbers[i] = i + 1;
    }
    return numbers;
}

static void Reverse(int[] numbers)
{
    int[] reverseNumbers = new int[numbers.Length];

    // Ciclo for que reverte os nºs gerados do array numbers e os retorna
    // no array reverseNumbers
    for (int i = numbers.Length - 1, j = 0; i >= 0; i--, j++)
    {
        reverseNumbers[j] = numbers[i];
    }
    for (int i = 0; i < numbers.Length; i++)
    {
        numbers[i] = reverseNumbers[i];
    }
}

static void PrintNumbers(int[] numbers)
{
    Console.Write("Reversed Array: ");
    for (int i = 0; i < numbers.Length; i++)
    {
        Console.Write($"{numbers[i]} ");
    }
    Console.WriteLine();
}

Por Pedro Inácio.

Solução 2

static int[] CreateNumbersToN(int n)
{
    // Variável temporária
    int[] numbers = new int[n];

    // Dar números de 1 a n ao array temporário numbers
    for (int i = 0; i < n; i++)
        numbers[i] = 1 + i;

    return numbers;
}

static void Reverse(int[] numbers)
{
    // Inverter a variável numbers com a ajuda de outro método
    Array.Reverse(numbers, 0, numbers.Length);
}

static void PrintNumbers(int[] numbers)
{
    // Imprimir o array
    Console.Write("\n[ ");
    foreach (int number in numbers)
        Console.Write($"{number} ");
    Console.WriteLine("]");
}

Por Tomás Franco