Programa en C con función - problema con el contador

Iniciado por muymuyperdido, 2 Diciembre 2012, 20:51 PM

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

muymuyperdido

El programa consiste en escribir una secuencia de bases de ADN ( A G T o C) y pedir una base, y mediante una funcion el programa te dice cuantas veces aparece esa base, mi problema es que el contador se queda en cero.

#include <stdio.h>
#define TAM 200
int contador(char v[]);
void main(){
char v[TAM],base;
printf("Escribe secuencia");
gets(v);
printf("Escribe base");
scanf("%c",&base);
printf("El numero de veces que aparece es %d",contador(v));

}
int contador (char v[])
{
    int contador=0,i;

    for(i=0; v[i]!='\0'; i++)    {
        if(v[i]=='base')        {
            contador++;
        }
    }
    return contador;
}



Gracias :)

durasno

#1
Citarif(v=='base')
trata de pensar q quisiste hacer aca y por que lo pusiste entre comillas simples



SAludos


PD: el codigo asi no compila
Ahorrate una pregunta, lee el man

muymuyperdido

#2
Cita de: durasno en  2 Diciembre 2012, 21:44 PM
PD: el codigo asi no compila
Si me compila, si le quito las comillas simples y declaro la base me compila pero me sigue dando el contador cero, no se en que fallo.

leosansan

#3
Cita de: muymuyperdido en  3 Diciembre 2012, 13:19 PM
me compila pero me sigue dando el contador cero, no se en que fallo.
A mí no me da cero:
Código (cpp) [Seleccionar]
#include <stdio.h>
#define TAM 200
int contador (char v[],char b);
int main(){
char v[TAM],base;
printf("Escribe secuencia: ");
gets(v);
printf("Escribe base: ");
scanf("%c",&base);
printf("El numero de veces que aparece es %d",contador(v,base));
}
int contador (char v[],char b)
{
   int contador=0,i;
   for(i=0; v[i]!='\0'; i++)
       if(v[i]==b)
           contador++;
   return contador;
}

Saluditos!.


muymuyperdido

Habia olvidado hacer que la funcion recibiese el caracter ._.
Gracias, en serio, me estaba volviendo loco! :||

leosansan

CitarSoy de la opinión que con un código hay que pelear un tiempo prudencial. Y si crees tenerlo pero no furula lo mejor es postearlo, ya que suele deberse a un detalle tonto al que le echas horas y no lo ves, en cambio gente "fresca de ideas" lo pueden pillar al vuelo.
Saluditos!.