ayuda en c vectores

Iniciado por howaboutno, 18 Diciembre 2012, 13:55 PM

0 Miembros y 1 Visitante están viendo este tema.

howaboutno

hola!
tengo un vector y un dato introducido por teclado. Lo que tiene que hacer es a partir del dato introducido contar cuantas veces aparece ese numero en el vector y su doble.

estaba pensando en esto pero no cuenta...
sugerencias? gracias!

#define dim 10;
int v[dim]
int t;
int c;
printf("\nintroduce un valor:\n");
fflush(stdout);
scanf("%d",&valor);
for(t=0;t<dim;t++)
{
if(v[t]==valor)
{
c++;
}
}

dato000

valor no esta definido, no tienes el main, y el define no termina en ";", y te falto terminar la declaración del arreglo "v"  con ;


#define dim 10

int main(){
            int v[dim];

            int valor, t, c;
printf("\nintroduce un valor:\n");
fflush(stdout);
scanf("%d",&valor);
for(t=0;t<dim;t++)
{
if(v[t]==valor)
{
c++;
}
}          
}  



rir3760

Cita de: howaboutno en 18 Diciembre 2012, 13:55 PMestaba pensando en esto pero no cuenta...
sugerencias?
Antes de realizar el bucle debes asignar los valores a los elementos del array. En el bucle debes verificar si el elemento v[ t ] es igual a valor o valor por dos.

Y cuando tengas una duda lo mejor es publicar código compilable, en buen cristiano el programa completo.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

howaboutno

Cita de: dato000 en 18 Diciembre 2012, 15:32 PM
valor no esta definido, no tienes el main, y el define no termina en ";", y te falto terminar la declaración del arreglo "v"  con ;


#define dim 10

int main(){
            int v[dim];

            int valor, t, c;
printf("\nintroduce un valor:\n");
fflush(stdout);
scanf("%d",&valor);
for(t=0;t<dim;t++)
{
if(v[t]==valor)
{
c++;
}
}          
}  


a ver, lo cogí de una función que tenia creada, y estaba bien escrito y compilado....

howaboutno

Cita de: rir3760 en 18 Diciembre 2012, 15:37 PM
Antes de realizar el bucle debes asignar los valores a los elementos del array. En el bucle debes verificar si el elemento v[ t ] es igual a valor o valor por dos.

Y cuando tengas una duda lo mejor es publicar código compilable, en buen cristiano el programa completo.

Un saludo
es un vector con numeros al azar ya generado

twins

bien asi quedo no se si es lo que necesitas, y otra cosa si estas aprendiendo c te recomiendo que partas con una buena base, porque hacer un programa sin declarar la funcion main() es un descuido muy grande saludos.

#include<stdio.h>// no tenias declarada esta libreria
#define dim 10 //esto no lleva ;
int main(void){//no tenias la funcion main()
int v[dim]={1,2,2,2,5,4,4,8,9,10};// fataba ; y ademas el vector no tenia elementos
int t,c=0,valor,k=0;
printf("introduce un valor:\n");
scanf("%d",&valor); // valor no estaba declarado
for(t=0;t<dim;t++){
if(v[t]==valor)
c++;
if(v[t]==valor*2)
k++;
}
printf("el valor aparece %i ves(es)\n",c);
printf("el valor por dos aparece %i ves(es)\n",k);
return(0);
}

howaboutno

#6
.

twins

aaaaa ok perfecto asi queda claro todo deviste poner esto desde un principio ajaja

howaboutno

oh! ya está, el problema estaba en que se me habia pasado inicializar a 0 el contador. funciona bien ;)
gracias de todos modos  ;D