Ejercicios de Programación en C# con Matrices y Vectores

Conteo de Filas con Ceros en una Matriz

Este programa determina cuántas filas de una matriz contienen al menos un cero.


static void Main(string[] args)
{
    int[,] matriz = new int[5, 6] {{1,2,3,4,5,6},
                                {2,0,3,4,5,0},
                                {4,6,7,0,5,5},
                                {3,6,7,1,2,3},
                                {4,5,6,8,6,2}};
    int i, j, contador;
    bool encontrado;

    contador = 0;
    i = 0;

    while (i < 5)
    {
        encontrado = false;
        j = 0;
        while ((j < 6) && (encontrado == false))
        {
            if (matriz[i, j] == 0)
                encontrado = true;
            else
                j = j + 1;
        }
        if (encontrado == true)
            contador = contador + 1;

        i = i + 1;
    }

    Console.WriteLine("Hay " + contador + " filas que contienen al menos un 0");
}

Localización del Primer Valor Precedido por un Divisor en un Vector

Este programa localiza y escribe el primer valor de un vector que está precedido por un divisor.


static void Main(string[] args)
{
    int[] vector = new int[10] { 5, 4, 23, 3, 16, 9, 27, 14, 8, 10 };
    int i;
    bool encontrado;
    encontrado = false;
    i = 1;
    while ((i < 10) && (!encontrado))
    {
        if ((vector[i] % vector[i - 1]) == 0)
            encontrado = true;
        else
            i = i + 1;
    }
    if (encontrado)
        Console.WriteLine("El primer numero predecido por un divisor es " + vector[i]);
    else
        Console.WriteLine("No hay ningun numero precedido por un divisor");
}

Conteo de Vocales en una Frase

Este programa cuenta el número de vocales en una frase terminada en punto.


const int MAX = 20;
static void Main(string[] args)
{
    char[] frase = "La tormenta de sal.".ToCharArray();
    int i, contador;

    contador = 0;
    i = 0;
    while ((frase[i] != '.') && (i < MAX))
    {
        if ((frase[i] == 'a') || (frase[i] == 'e') || (frase[i] == 'i') || (frase[i] == 'o') || (frase[i] == 'u'))
        {
            contador = contador + 1;
        }
        i++;
    }
    Console.WriteLine("La frase cotiene " + contador + " vocales");
}

Eliminación del Primer Múltiplo de 7 en un Vector

Este programa elimina el primer múltiplo de 7 que encuentra en un vector.


const int MAX = 20;
static void Main(string[] args)
{
    int[] vector = new int[MAX] { 1, 6, 55, 33, 22, 14, 3, 65, 3, 34, 4, 7, 28, 4, 5, 7, 75, 44, 35, 2 };
    int i;
    bool encontrado;
    // Mostrar vector inicial
    Console.WriteLine("El vector inicial es: ");
    i = 0;
    while (i < MAX)
    {
        Console.Write(vector[i] + " ");
        i = i + 1;
    }
    Console.WriteLine();
    // Buscar primer múltiplo de 7
    encontrado = false;
    i = 0;
    while (i < MAX && !encontrado)
    {
        if ((vector[i] % 7) == 0)
            encontrado = true;
        else
            i++;
    }
    // Eliminar elemento
    while (i < MAX -1)
    {
        vector[i] = vector[i + 1];
        i++;
    }
    // Mostrar vector final
    Console.WriteLine("El vector final es: ");
    i = 0;
    while (i < MAX - 1)
    {
        Console.Write(vector[i] + " ");
        i = i + 1;
    }
    Console.WriteLine();
}

Inserción de un Espacio Después de la Primera ‘j’ en un Vector de Caracteres

Este programa inserta un carácter en blanco después de la primera ‘j’ que encuentra en un vector de caracteres.


const int MAX = 20;
static void Main(string[] args)
{
    char[] frase = "Creatividad y juegos".ToCharArray();
    int i, j;
    bool encontrado;
    // Mostrar frase inicial
    Console.WriteLine(frase);
    // Buscar la primera 'j'
    encontrado = false;
    i = 0;
    while ((i < MAX) && (encontrado == false))
    {
        if (frase[i] == 'j')
            encontrado = true;
        else
            i++;
    }
    // Insertar espacio 
    j = MAX-1;
    if (encontrado)
    {
        while (j > i + 1)
        {
            frase[j] = frase[j - 1];
            j--;
        }
        frase[j] = ' ';
    }
    // Mostrar frase final
    Console.WriteLine(frase);
}

Inserción de un Número en un Vector Ordenado

Este programa lee un número entero del teclado y lo inserta en un vector ordenado, manteniendo el orden.


static void Main(string[] args)
{
    int[] vector = new int[10] { 4, 5, 21, 30, 166, 900, 2700, 140000, 800000, 1000000 };
    int numero, i, j;
    bool encontrado;

    // Mostrar vector inicial
    Console.WriteLine("El vector inicial es: ");
    i = 0;
    while (i < 10)
    {
        Console.Write(vector[i] + " ");
        i = i + 1;
    }
    Console.WriteLine();

    // Leer número
    Console.Write("Introduce un número: ");
    numero = Convert.ToInt32(Console.ReadLine());

    // Buscar posición de inserción
    encontrado = false;
    i = 0;
    while ((i < 10) && (!encontrado))
    {
        if (vector[i] > numero)
            encontrado = true;
        else
            i = i + 1;
    }

    // Insertar número
    if (encontrado)
    {
        j = 9;
        while (j > i)
        {
            vector[j] = vector[j - 1];
            j = j - 1;
        }
        vector[i] = numero;
    }

    // Mostrar vector final
    Console.WriteLine("El vector final es: ");
    i = 0;
    while (i < 10)
    {
        Console.Write(vector[i] + " ");
        i = i + 1;
    }
    Console.WriteLine();
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.