menu

jueves, febrero 02, 2017

Ejercicio 14 en C

Ejercicios de matrices


 1.-Sumar los elementos de una matriz que están en la diagonal.

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int a[5][5]={' '},i,j,suma=0;
    for( i=0; i < 5; i++)
    {
        for( j=0; j < 5; j++)
        {
            a[i][j]=random()%101;
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++)
        {
            if(i==j)
            {
                suma=suma+a[i][j];
            }
        }
    }
    printf("\nLa suma de la diagonal es %d\n",suma);
}

 2.-Intercambiar los elementos de una matriz. Los de la fila i con los de la fila j.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[6][6]={' '},b[5][5]={' '},i,j;
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            a[i][j]=random()%101;
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            b[i][j]=a[j][i];
            printf("%4d",b[i][j]);
        }
        printf("\n");
    }
}

 2b.-Mover una posicion a la derecha y el ultimo sea el primero filas

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[6][6]={' '},b[6][6]={' '},i,j,temporal[6];
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            a[i][j]=random()%101;
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            if (j==5)
            {
                b[i][0]=a[i][j];
            }
            else
            {
                b[i][j+1]=a[i][j];
            }
        }
    }
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            printf("%4d",b[i][j]);
        }
        printf("\n");
    }
    printf("\n");
}

 3.-Sumar , restar y hacer el producto de dos matrices.

#include<stdio.h>
#include <time.h>
#include <string.h>

int i,j,k,temporal,a[6][6],b[6][6],c[6][6];
char operacion[50];
main()
{
    srand (time(NULL));
    printf("\t\nEste programa Suma dos matrices de 6x6\n");
    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            a[i][j]=rand()%11;
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");

    for( i=0; i < 6; i++)
    {
        for( j=0; j < 6; j++)
        {
            b[i][j]=rand()%11;
            printf("%4d",b[i][j]);
        }
        printf("\n");
    }
    do
        {
    do
        {
            printf("m=multiplicación, r=resta, s=suma, e=salir: ");
            fgets(operacion,50,stdin);
            operacion[strlen(operacion)-1]= 0;
        }
    while(strcmp(operacion,"m") !=0 && strcmp(operacion,"r") !=0 && strcmp(operacion,"s") !=0 && strcmp(operacion,"e") !=0);
    if(strcasecmp(operacion,"s")==0)
    {
        printf("\nEl resultado de la suma de ambas Matices es:\n\n");
        for(i=0;i<6;i++)
        {
            for(j=0;j<6;j++)
            {
                c[i][j]=a[i][j]+b[i][j];
                printf("%6d",c[i][j]);
            }
            printf("\t\t\t\n");
        }
   }
   else if(strcasecmp(operacion,"r")==0)
   {
        printf("\nEl resultado de la resta de ambas Matices es:\n\n");
        for(i=0;i<6;i++)
        {
            for(j=0;j<6;j++)
            {
                c[i][j]=a[i][j]-b[i][j];
                printf("%6d",c[i][j]);
            }
            printf("\t\t\t\n");
        }
   }
   else if(strcasecmp(operacion,"m")==0)
   {
        printf("\nEl resultado de la multiplicacion de ambas Matices es:\n\n");
        for(i=0;i<6;i++)
        {
            for(j=0;j<6;j++)
            {
                temporal = 0 ;
                for (k = 0 ; k < 6 ; k++ )
                {
                    temporal += (a[i][k] * b[k][j]);
                }
                c[i][j] = temporal ;
                printf("%6d",c[i][j]);
            }
            printf("\t\t\t\n");
        }
    }
        }
    while(strcmp(operacion,"e") !=0);
 }

 5.-Encontrar el mayor y el menor de una matriz así como las posiciones que ocupa.

#include <stdio.h>
#include <time.h>

int main()
{
    int a[5][5]={' '},i,j,resultado[6];
    srand (time(NULL));
    for( i=0; i < 5; i++)
    {
        for( j=0; j < 5; j++)
        {
            a[i][j]=random()%101;
            printf("%4d",a[i][j]);
            if (i==0 && j==0)
            {
            resultado[0]=a[i][j];
            resultado[1]=i;
            resultado[2]=j;
            resultado[3]=a[i][j];
            resultado[4]=i;
            resultado[5]=j;
            }
            else if (resultado[0]<a[i][j])
            {
            resultado[0]=a[i][j];
            resultado[1]=i;
            resultado[2]=j;
            }
            else if (resultado[3]<a[i][j])
            {
            resultado[3]=a[i][j];
            resultado[4]=i;
            resultado[5]=j;
            }
        }
        printf("\n");
    }
    printf("\nEl número mayor es %d posición de fila %d y la columna %d\n",resultado[0],resultado[1]+1,resultado[2]+1);
    printf("\nEl número menor es %d posición de fila %d y la columna %d\n",resultado[3],resultado[4]+1,resultado[5]+1);
}

 6.-Leer una palabra y decidir si és palíndroma.

#include <stdio.h>
#include <string.h>

int main()
{
    char palabra[20];
    int i, j;
    int palindromo = 1;
    printf("Escribe una cadena: ");
    fgets(palabra,50,stdin);
    palabra[strlen(palabra)-1]= 0;
    j=strlen(palabra)-1;
    for(i=0; i
        printf("Comprobando %c==%c\n", palabra[i], palabra[j]);
        if (palabra[i] != palabra[j] ) {
            palindromo = 0;
            break;
        }
    }
    if (palindromo)
        printf("\nEs un palíndrimo.\n");
    else
        printf("\nNo es un palíndrimo.\n");

    return (0);
}

7.-Crear una matriz de 20 elementos de tipo numérico y de nombre pares. Cargar la matriz con los 20 primeros números pares. Mostrar el contenido de la matriz en pantalla. Ordenar de menor a mayor


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int a[4][5]={' '},i,j,x,y,menor;
    srand (time(NULL));
    for( i=0; i < 4; i++)
    {
        for( j=0; j < 5; j++)
        {
            do
            {
                a[i][j]=random()%40+1;
            }
            while (a[i][j]%2!=0);
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    for(i=0; i<4; i++)
     {
        for(j=0; j<5; j++)
        {
            for(x=0; x<4;x++)
            {
                for(y=0; y<5; y++)
                {
                    if(a[i][j]<a[x][y])
                    {
                        menor=a[i][j];
                        a[i][j]=a[x][y];
                        a[x][y]=menor;
                    }

                }
            }
         }
    }
     for(i=0; i<4; i++)
    {
        for(j=0; j<5; j++)
        {
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
}

8.-Crear una matriz de 30 elementos de tipo numérico y rellenarlo con valores positivos , negativos y ceros. Contar el número de valores positivos ,negativos y ceros. Mostrar los resultados.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int a[5][6]={' '},i,j,p=0,n=0,c=0;
    srand (time(NULL));
    for( i=0; i < 5; i++)
    {
        for( j=0; j < 6; j++)
        {
            a[i][j]=random()%201-100;
            printf("%4d",a[i][j]);
            if (a[i][j]==0){c++;}
            if (a[i][j]<0){n++;}
            if (a[i][j]>0){p++;}
        }
        printf("\n");
    }
    printf("\nLos positivos son %d, los negativos son %d y los ceros son %d\n", p, n, c);
}

 9.Rellenar una matriz con elementos que sean la suma de su fila y su columnna.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[5][5]={' '},i,j;
    for( i=0; i < 5; i++)
    {
        for( j=0; j < 5; j++)
        {
            a[i][j]=j+i;;
            printf("%4d",a[i][j]);
        }
        printf("\n");
    }
}

No hay comentarios:

Publicar un comentario