Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - JosselynGreen

#1
Hola! muy buen dia. Estoy haciendo una funcion que tiene que unir el valor de dos matrices en una sola.
Intente hacer dos ciclos for, para recorrer la matriz de 10 filas x 5 columnas, con un if, si el  valor de la columna es menor a 5, que introduzca el primer arreglo, pero tengo problema al poner el sigguiente arreglo  o matriz en la parte que resta del arreglo. Dejo la funcion que crea las matrices y la que las une. ¿como podria resolverlo?




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

void  menu();
void  crearMatriz();
void  suma();
void  intersec();
void  restaab();
void  restaba();
void  exclusion();
void  buscar();
void  destruir();
//numeros aleatorios diferentes
  int o, p;
      int n,m,j,i;
      int matriz[5][5];
      int matriz1[5][5];
      //variable a agregar

//Funcion principal
int main()
{
menu();
    return 0;
}

//Funcion menu, en donde mandamos a llamar las demas funciones dentro del switch
void  menu(){
    int opc;
    int op=1;
    do{
        int opSwitch=0;
        printf("0. Salir\n");       
        printf("1. Crear Conjuntos A y B\n");
        printf("2. Union de A y B\n"); 
        printf("3. Interseccion de A y B\n");
        printf("4. Resta de A-B\n");
        printf("5. Resta de B-A\n");
        printf("6. Exclusion\n");
        printf("7. Buscar numero en los conjuntos\n");        
        printf("8. Destruir Conjuntos\n");
        printf("Selecciona una opcion:\n");

        scanf("%d",&opSwitch);

        switch(opSwitch){
       
            case 0:{
                op=0;
            }
            break;
            case 1:
            if(matriz[1][1]>0 && matriz1[1][1]>0){
printf("\nLa matriz debe ya tiene valores y debe ser destruida para poder ser creada nuevamente!");
printf("\nPara regresar al menu principal oprima 1");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
            crearMatriz();
}
            break;
            case 2:

            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
            suma();
}
            break;
            case 3:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    intersec();
}
            break;
            case 4:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    restaab();
}
            break;
            case 5:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    restaba();
}
            break;
            case 6:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    exclusion();
}
            break;
            case 7:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    buscar();
}
            break;
            case 8:
            if(matriz[1][1]==0 && matriz1[1][1]==0)
            {
printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
printf("\nPara regresar al menu principal oprima 1 ==>:");
scanf("%d",&opc);
switch(opc){
case 1:
menu();
break;
default: printf("\nOpcion invalida\n");
}

}
else{
    destruir  ();
}
            break;           
            default: printf("Opcion Invalida\n");
        }


        system("cls");
    }while(op);   
      system("pause");   
}

//crear y Llenar las matrices con valores aleatorios
void  crearMatriz(){
srand(time(NULL));
//Par de ciclos que rellenan las matrices con valores aleatorios
        for(i=0;i<5;i++){
               for(n=0;n<5;n++){
                     matriz[i][n]= 1 + rand() % (51 - 1); //la matriz 1 es igual a los valores random entre 1 y 50
                                              }
                          }
        for(j=0;j<5;j++){
               for(m=0;m<5;m++){
                     matriz1[j][m] = 1 + rand() % (51 - 1); //la matriz 2 es igual a los valores random entre 1 y 50
                                              }
                        }
            //Par de ciclos que muestran las dos matrices guardadas           
            printf("Las matrices guardadas son: \n\n");
        printf("Matriz A\n");
      for(i=0;i<5;i++){
                for(n=0;n<5;n++){
                      printf("[%02d]",matriz[i][n]);
}
                         printf("\n");
                          }
                          printf("\n");
                 printf("Matriz B\n");                         
      for(j=0;j<5;j++){
                for(m=0;m<5;m++){
                      printf("[%02d]",matriz1[j][m]);
}
                         printf("\n");
                          }
                       
      system("pause");   
}

//2. Unión de A y B
void  suma(){

//ciclo que suma las dos matrices
int sumam[10][5];
for(o=0;o<10;o++){        
for(p=0;p<5;p++){
       
        if(o<5){
        sumam[o][p]= matriz[o][p];
}

if(o>5){
for(o=5; o<10; o++){
for(p=0; p<5; p++){
sumam[o][p]= matriz1[o][p];
}
}
}
                          }
                   }
            //Par de ciclos que muestran las dos matrices guardadas en la opcion 1           
            printf("\nLas matrices guardadas en la opcion 1, son: \n\n");
        printf("Matriz A\n");
       for(i=0;i<5;i++){
                for(n=0;n<5;n++){
                      printf("[%02d]",matriz[i][n]);
}
                         printf("\n");
                          }
                         
                          printf("\n");
                          printf("Matriz B\n");
       for(j=0;j<5;j++){
                for(m=0;m<5;m++){
                      printf("[%02d]",matriz1[j][m]);
}
                         printf("\n");
                          }       

//ciclo que muestra la matriz resultante de la union           
printf("\nLa matriz resultante de la suma de la Matriz A y la Matriz B, es: \n\n");
      for(o=0;o<10;o++){
                for(p=0;p<5;p++){
                      printf("[%02d]",sumam[o][p]);
}
                         printf("\n");
                          }
           
      system("pause");
#2
Hola buenas tardes.
es mi primeria vez publicacio aqui.
estoy atorada con este codigo. resulta que al correrlo, no se estan almacenando de forma correcta las cadenas de caracteres. ya intente varias formas.

printf("Cuantas peliculas desea agregar?");
scanf("%d",&n);
  for(i=0; i<n; i++){
printf("\n**** Ingrese los datos de la pelicula  ****\n");
printf("*******************************************\n\n");
datos_pelicula[i].id=i+1;
printf("Ingrese el nombre de la pelicula ");
gets(datos_pelicula[i].nombre);
while(getchar()!= '\n');
printf("Ingrese el genero de la pelicula ");
gets(datos_pelicula[i].genero);
while(getchar()!= '\n');
printf("Ingrese duracion de la pelicula en minutos ");
scanf("%d",&datos_pelicula[i].duracion);
printf("Ingrese la clasificacion de la pelicula ");
scanf("%s",&datos_pelicula[i].clasi);
printf("Ingrese el horario de la pelicula con formato '00:00' ");
scanf("%s",&datos_pelicula[i].horario);
printf("Ingrese el numero de asienos disponibles en la sala ");
scanf("%d", &datos_pelicula[i].asientos_disp);
printf("Ingrese el numero de la sala ");
scanf("%d", &datos_pelicula[i].sala);
printf("Ingrese el precio standar la pelicula ");
scanf("%f",&datos_pelicula[i].precio);
while(getchar()!= '\n');
  }