elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Unir dos matrices en una matriz mas grande en c en: 3 Diciembre 2019, 08:09 am
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?



Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. void  menu();
  6. void  crearMatriz();
  7. void  suma();
  8. void  intersec();
  9. void  restaab();
  10. void  restaba();
  11. void  exclusion();
  12. void  buscar();
  13. void  destruir();
  14. //numeros aleatorios diferentes
  15.  int o, p;
  16.      int n,m,j,i;
  17.      int matriz[5][5];
  18.      int matriz1[5][5];
  19.      //variable a agregar
  20.  
  21. //Funcion principal
  22. int main()
  23. {
  24. menu();
  25.    return 0;
  26. }
  27.  
  28. //Funcion menu, en donde mandamos a llamar las demas funciones dentro del switch
  29. void  menu(){
  30.    int opc;
  31.    int op=1;
  32.    do{
  33.        int opSwitch=0;
  34.        printf("0. Salir\n");        
  35.        printf("1. Crear Conjuntos A y B\n");
  36.        printf("2. Union de A y B\n");  
  37.        printf("3. Interseccion de A y B\n");
  38.        printf("4. Resta de A-B\n");
  39.        printf("5. Resta de B-A\n");
  40.        printf("6. Exclusion\n");
  41.        printf("7. Buscar numero en los conjuntos\n");        
  42.        printf("8. Destruir Conjuntos\n");
  43.        printf("Selecciona una opcion:\n");
  44.  
  45.        scanf("%d",&opSwitch);
  46.  
  47.        switch(opSwitch){
  48.  
  49.            case 0:{
  50.                op=0;
  51.            }
  52.            break;
  53.            case 1:
  54.             if(matriz[1][1]>0 && matriz1[1][1]>0){
  55. printf("\nLa matriz debe ya tiene valores y debe ser destruida para poder ser creada nuevamente!");
  56. printf("\nPara regresar al menu principal oprima 1");
  57. scanf("%d",&opc);
  58. switch(opc){
  59. case 1:
  60. menu();
  61. break;
  62. default: printf("\nOpcion invalida\n");
  63. }
  64.  
  65. }
  66. else{
  67.             crearMatriz();
  68. }
  69.            break;
  70.            case 2:
  71.  
  72.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  73.             {
  74. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  75. printf("\nPara regresar al menu principal oprima 1");
  76. scanf("%d",&opc);
  77. switch(opc){
  78. case 1:
  79. menu();
  80. break;
  81. default: printf("\nOpcion invalida\n");
  82. }
  83.  
  84. }
  85. else{
  86.             suma();
  87. }
  88.            break;
  89.            case 3:
  90.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  91.             {
  92. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  93. printf("\nPara regresar al menu principal oprima 1 ==>:");
  94. scanf("%d",&opc);
  95. switch(opc){
  96. case 1:
  97. menu();
  98. break;
  99. default: printf("\nOpcion invalida\n");
  100. }
  101.  
  102. }
  103. else{
  104.    intersec();
  105. }
  106.            break;
  107.            case 4:
  108.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  109.             {
  110. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  111. printf("\nPara regresar al menu principal oprima 1 ==>:");
  112. scanf("%d",&opc);
  113. switch(opc){
  114. case 1:
  115. menu();
  116. break;
  117. default: printf("\nOpcion invalida\n");
  118. }
  119.  
  120. }
  121. else{
  122.    restaab();
  123. }
  124.            break;
  125.            case 5:
  126.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  127.             {
  128. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  129. printf("\nPara regresar al menu principal oprima 1 ==>:");
  130. scanf("%d",&opc);
  131. switch(opc){
  132. case 1:
  133. menu();
  134. break;
  135. default: printf("\nOpcion invalida\n");
  136. }
  137.  
  138. }
  139. else{
  140.    restaba();
  141. }
  142.            break;
  143.            case 6:
  144.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  145.             {
  146. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  147. printf("\nPara regresar al menu principal oprima 1 ==>:");
  148. scanf("%d",&opc);
  149. switch(opc){
  150. case 1:
  151. menu();
  152. break;
  153. default: printf("\nOpcion invalida\n");
  154. }
  155.  
  156. }
  157. else{
  158.    exclusion();
  159. }
  160.            break;
  161.            case 7:
  162.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  163.             {
  164. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  165. printf("\nPara regresar al menu principal oprima 1 ==>:");
  166. scanf("%d",&opc);
  167. switch(opc){
  168. case 1:
  169. menu();
  170. break;
  171. default: printf("\nOpcion invalida\n");
  172. }
  173.  
  174. }
  175. else{
  176.    buscar();
  177. }
  178.            break;
  179.            case 8:
  180.             if(matriz[1][1]==0 && matriz1[1][1]==0)
  181.             {
  182. printf("\nLa matriz no tiene valores, debe ser creada primeramente!");
  183. printf("\nPara regresar al menu principal oprima 1 ==>:");
  184. scanf("%d",&opc);
  185. switch(opc){
  186. case 1:
  187. menu();
  188. break;
  189. default: printf("\nOpcion invalida\n");
  190. }
  191.  
  192. }
  193. else{
  194.    destruir  ();
  195. }
  196.            break;            
  197.            default: printf("Opcion Invalida\n");
  198.        }
  199.  
  200.  
  201.        system("cls");
  202.    }while(op);    
  203.      system("pause");    
  204. }
  205.  
  206. //crear y Llenar las matrices con valores aleatorios
  207. void  crearMatriz(){
  208. srand(time(NULL));
  209. //Par de ciclos que rellenan las matrices con valores aleatorios
  210.        for(i=0;i<5;i++){
  211.               for(n=0;n<5;n++){
  212.                     matriz[i][n]= 1 + rand() % (51 - 1); //la matriz 1 es igual a los valores random entre 1 y 50
  213.                                              }
  214.                          }
  215.        for(j=0;j<5;j++){
  216.               for(m=0;m<5;m++){
  217.                     matriz1[j][m] = 1 + rand() % (51 - 1); //la matriz 2 es igual a los valores random entre 1 y 50
  218.                                              }
  219.                         }
  220.            //Par de ciclos que muestran las dos matrices guardadas            
  221.            printf("Las matrices guardadas son: \n\n");
  222.       printf("Matriz A\n");
  223.      for(i=0;i<5;i++){
  224.                for(n=0;n<5;n++){
  225.                      printf("[%02d]",matriz[i][n]);
  226. }
  227.                         printf("\n");
  228.                          }
  229.                          printf("\n");
  230.               printf("Matriz B\n");                          
  231.      for(j=0;j<5;j++){
  232.                for(m=0;m<5;m++){
  233.                      printf("[%02d]",matriz1[j][m]);
  234. }
  235.                         printf("\n");
  236.                          }
  237.  
  238.      system("pause");    
  239. }
  240.  
  241. //2. Unión de A y B
  242. void  suma(){
  243.  
  244. //ciclo que suma las dos matrices
  245. int sumam[10][5];
  246. for(o=0;o<10;o++){      
  247. for(p=0;p<5;p++){
  248.  
  249.         if(o<5){
  250.         sumam[o][p]= matriz[o][p];
  251. }
  252.  
  253. if(o>5){
  254. for(o=5; o<10; o++){
  255. for(p=0; p<5; p++){
  256. sumam[o][p]= matriz1[o][p];
  257. }
  258. }
  259. }
  260.                          }
  261.                   }
  262.            //Par de ciclos que muestran las dos matrices guardadas en la opcion 1            
  263.            printf("\nLas matrices guardadas en la opcion 1, son: \n\n");
  264.       printf("Matriz A\n");
  265.     for(i=0;i<5;i++){
  266.                for(n=0;n<5;n++){
  267.                      printf("[%02d]",matriz[i][n]);
  268. }
  269.                         printf("\n");
  270.                          }
  271.  
  272.                          printf("\n");
  273.                          printf("Matriz B\n");
  274.     for(j=0;j<5;j++){
  275.                for(m=0;m<5;m++){
  276.                      printf("[%02d]",matriz1[j][m]);
  277. }
  278.                         printf("\n");
  279.                          }      
  280.  
  281. //ciclo que muestra la matriz resultante de la union          
  282. printf("\nLa matriz resultante de la suma de la Matriz A y la Matriz B, es: \n\n");
  283.      for(o=0;o<10;o++){
  284.                for(p=0;p<5;p++){
  285.                      printf("[%02d]",sumam[o][p]);
  286. }
  287.                         printf("\n");
  288.                          }
  289.  
  290.      system("pause");
2  Programación / Programación C/C++ / problema al leer y almacenar cadenas en C en: 1 Diciembre 2019, 23:26 pm
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.

Código
  1. printf("Cuantas peliculas desea agregar?");
  2. scanf("%d",&n);
  3.  for(i=0; i<n; i++){
  4. printf("\n**** Ingrese los datos de la pelicula  ****\n");
  5. printf("*******************************************\n\n");
  6. datos_pelicula[i].id=i+1;
  7. printf("Ingrese el nombre de la pelicula ");
  8. gets(datos_pelicula[i].nombre);
  9. while(getchar()!= '\n');
  10. printf("Ingrese el genero de la pelicula ");
  11. gets(datos_pelicula[i].genero);
  12. while(getchar()!= '\n');
  13. printf("Ingrese duracion de la pelicula en minutos ");
  14. scanf("%d",&datos_pelicula[i].duracion);
  15. printf("Ingrese la clasificacion de la pelicula ");
  16. scanf("%s",&datos_pelicula[i].clasi);
  17. printf("Ingrese el horario de la pelicula con formato '00:00' ");
  18. scanf("%s",&datos_pelicula[i].horario);
  19. printf("Ingrese el numero de asienos disponibles en la sala ");
  20. scanf("%d", &datos_pelicula[i].asientos_disp);
  21. printf("Ingrese el numero de la sala ");
  22. scanf("%d", &datos_pelicula[i].sala);
  23. printf("Ingrese el precio standar la pelicula ");
  24. scanf("%f",&datos_pelicula[i].precio);
  25. while(getchar()!= '\n');
  26.  }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines