Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ProyectoX en 12 Diciembre 2012, 17:37 pm



Título: ¿Que hice mal?. Arreglos(SOLUCIONADO)
Publicado por: ProyectoX en 12 Diciembre 2012, 17:37 pm
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define TAMANIO 5
void imprimeArreglo(const int b[]);
int main()
{
int a[TAMANIO];
int i;

for(i=0;i<TAMANIO;i++){
a=i+1;
}
imprimeArreglo(a);
}
void imprimeArreglo(const int b[])
{
int i;
for (i=0;i<TAMANIO;i++) {
if (i==3){

printf("%3d*",b);
}
else {
printf("%3d",b);

}

getch();
}

}

ME FALTABA UN = EN LA CONDICION IF, SOLUCIONADO!!

IMPRIME POR PANTALLA *4 *4 *4....etc...

Y yo quiero que imprima por pantalla 1 2 3 *4, solo quiero que marque con un asterisco el elemento b[3], pero que tambien muestre los elementos anteriores y no se porque no va hacia ELSE, cuando la condicion en IF es falsa.


Título: Re: ¿Que hice mal?. Arreglos(SOLUCIONADO)
Publicado por: leosansan en 13 Diciembre 2012, 16:00 pm
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #define TAMANIO 5
  5. void imprimeArreglo(const int b[]);
  6. int main()
  7. {
  8. int a[TAMANIO];
  9. int i;
  10.  
  11. for(i=0;i<TAMANIO;i++){
  12. a[i]=i+1;
  13. }
  14. imprimeArreglo(a);
  15. }
  16. void imprimeArreglo(const int b[])
  17. {
  18. int i;
  19. for (i=0;i<TAMANIO;i++) {
  20. if (i==3){
  21. printf("  *");
  22. printf("%3d",b[i]);
  23. i++;
  24. }
  25. else {
  26. printf("%3d",b[i]);
  27.  
  28. }
  29. getch();
  30. }
  31. }
Saluditos!.