El ejercicio a realizar es el siguiente:
Realiza un programa que trabaje con un vector de enteros. El programa deberá, de manera
secuencial, realizar lo siguiente:
a) Rellenar el vector con elementos introducidos por teclado hasta que el usuario introduzca un
número negativo.
b) Mostrar el contenido del vector.
*El vector tiene un máximo de 100 elementos*
En un principio no me parecía dificultad alguna, exceptuando la detención del programa al introducir un número negativo, ya que no me dejan utilizar "break". Pero al menos intenté hacerlo con 5 elementos a ver si funcionaba.
Todo correcto, hasta que intente crearlo en forma de funciones. Supuse que sería un mínimo error e intente crear el ejercicio con la misma estructura que la función.
Código:
#include<stdio.h>
#define max_v 10
int main(){
int v[max_v];
int i;
int utiles=0;
for (i=0; i<max_v;i++){
printf("[%d] : ", i);
scanf("%i", &v[i]);
utiles ++;
}
for (i=0; i<=utiles;i++){
printf("Vector[%d]: %d \n", i, v[i]);
}
return 0;
}
Incluyo también el mismo intento de programa pero con funciones.
Código:
#include <stdio.h>
#define max_ele 100
int leerVector(int vector){
int i, utiles=0;
for(i=0; i<max_ele; i++){
printf("Posicion [%d] : ", i);
scanf("%d", &vector[i]);
utiles++;
return utiles;
}
int imprimirVector(int vector[], int utiles){
int i;
for(i=0; i<utiles; i++)
{ printf("\nElemento [%d] : %d", i, vector[i]);
}
}
int main(){
int vector[max_ele];
int utiles;
utiles = leerVector(vector[]);
imprimirVector(vector, utiles);
return 0;
}
Disculpen por el tochopost y gracias de antemano.
Un saludo.