Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: luis9829 en 20 Agosto 2017, 01:29 am



Título: como hago para imprimir un array repetido
Publicado por: luis9829 en 20 Agosto 2017, 01:29 am
veran el problema es el siguiente me dice que tengo que ingresar los datos de la primera fila de una matriz y el programa lo que hara sera repetirlos hasta cierta dimension por ejemplo si la matriz es 4x4
entrada
elemento[1][1] 1
elemento[1][2] 2
elemento[1][3] 3
elemento[1][4] 4

salida
1234
1234
1234
1234

se que para hacer una matriz que reciba todos los elementos es el siguiente codigo
Código
  1. #include<stdio.h>
  2. int main(){
  3. int matriz[4][4];
  4. int i,j;
  5. for(i=0;i<4;i++){
  6. for(j=0;j<4;j++){
  7. printf("digite los valores de la matriz [%d][%d]:",i+1,j+1);
  8. scanf("%d",&matriz[i][j]);
  9. }
  10. }
  11. for(i=0;i<4;i++){
  12.    for(j=0;j<4;j++){
  13.    printf("%d",matriz[i][j]);
  14.    }
  15.    printf("\n");
  16. }
  17. }

en donde tendria que modificarle para que haga lo que me piden


· Los códigos deben ir en etiquetas GeSHi
· No se debe escribir en mayúsculas
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: como hago para imprimir un array repetido
Publicado por: SilentBolt en 20 Agosto 2017, 02:39 am
Intenta explicar un poco mas tu duda, ¿Quieres imprimir los datos de la matriz hasta un punto especifico?, o ¿contabilizar la matriz?

si lo que quieres es contabilizar la matriz, puedes crear una variable que se llame por ejemplo "a", y que cada vez que la matriz avance a la variable "a" se le sume 1, y lo imprimes en pantalla, y una vez que la variable "a" sea mayor a 4 se devuelva a 1 haciendo el 1234 1234 y asi, el codigo quedaria algo asi :
Código
  1. #include<stdio.h>
  2.  
  3. int main(){
  4. int matriz[4][4];
  5. int i,j, a = 1;
  6.  
  7. for(i=0;i<4;i++){
  8. for(j=0;j<4;j++){
  9. printf("digite los valores de la matriz [%d][%d]:",i+1,j+1);
  10. scanf("%d",&matriz[i][j]);
  11. }
  12. }
  13.  
  14. printf("\n");
  15.  
  16. for(i=0;i<4;i++){
  17.         for(j=0;j<4;j++){
  18.     if(a > 4){
  19.         a = 1;//aqui haces el bucle 1234 1234
  20.     }
  21.            printf("matriz[%i][%i] = %i, numero %i\n", i + 1, j + 1, matriz[i][j], a);
  22.            a++;//Aqui se le suma a "a" 1 y contabilizas la matriz
  23.     }
  24.     printf("\n");
  25.    }
  26. }
  27.  

y si lo que quieres es que la matriz se imprima hasta un punto especifico, puedes hacer lo mismo con la variable "a" pero en este caso cuando llegue a un limite, uses un getch(); para hacer una pausa y el return 0;  ;D espero haberte sido de ayuda


Título: Re: como hago para imprimir un array repetido
Publicado por: luis9829 en 20 Agosto 2017, 19:32 pm
en parte tienes la idea pero en si no es lo que necesito osea el programa como tal solo me dejara ingreasar la primera fila de la matriz a imprimir y los demas datos se repiten

por ejemplo ingreso
1
2
3
4
su matriz de los elementos es
1234
1234
1234
1234

algo asi


Título: Re: como hago para imprimir un array repetido
Publicado por: SilentBolt en 22 Agosto 2017, 01:14 am
entonces podrias utilizar un triple bucle for, me explico:

Código
  1. for(a = 0; a < 4; a++){
  2.        for(i = 0; i < 1; i++){//imprimira una sola fila
  3.               for(j = 0; i < 4; i++){
  4.                      printf("%i", matriz[i][j]);//imprimira todas las matrices "1234"
  5.               }          
  6.        }
  7.        printf("\n");
  8. }
  9.  

aqui el resultado seria
1234
1234
1234
y asi, 4 veces, supongo que eso era lo que querias no?, y si quieres imprimir el valor de mas filas, cambia el valor de "j", para imprimir varias filas


Título: Re: como hago para imprimir un array repetido
Publicado por: luis9829 en 25 Agosto 2017, 06:26 am
bueno quizas no me hice entender muy bien pero algo asi era lo que necesitaba con todo dejo el codigo y gracias en parte por la ayuda

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void iniciarmatrizx(int matriz[4][4],int f,int c){
  4. int i,j;
  5. for(i=0;i<f;i++){
  6. printf("digite los valores de la matriz[0][%d]:",i);
  7. scanf("%d",&matriz[0][i]);
  8. for(j=0;j<c;j++){
  9. matriz[j][i]=matriz[0][i];
  10. }
  11. }
  12. for(i=0;i<f;i++){
  13. for(j=0;j<c;j++){
  14. printf("%d",matriz[i][j]);
  15. }
  16. printf("\n");
  17. }
  18. }
  19.  
  20. int main()
  21. {
  22.    int matriz[4][4];
  23.    iniciarmatrizx(matriz,4,4);
  24. }
  25.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: como hago para imprimir un array repetido
Publicado por: engel lex en 25 Agosto 2017, 06:30 am
Hola!

ya se te ha advertido en anterioridad sobre el uso de las etiquetas GeSHi en el foro, por favor cuando publiques código no olvides usar las etiquetas GeSHi (están arriba del editor de texto a la derecha, no hay perdida de ubicación ni de como usarlas)