elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con programa en-lenguaje en c o c++ en: 12 Septiembre 2020, 09:55 am
Tengo que realizar un programa que me diga cuantos animales pasarón por ambos mares el ejercicio es el siguiente:
Descripción
Las lágrimas de Alicia no formaron un mar como todos creían, sino dos, uno por cada ojo. Y por lo tanto, algunos animales descuidados se mojaron varias veces y tuvieron que correr varias carreras para secarse. Cuando Alicia se percató de la situación, decidió contar cuántos animales se mojaron en los dos mares de lágrimas.
Código:
Entrada
Un entero  seguido de  parejas de enteros. Cada pareja de enteros  y  representa a un animal  que se mojó en el mar .
Código:
Salida
Un entero que sea la cantidad de animales que se mojaron en los dos mares.
Código:
Rangos
Puedes suponer que 1<=N<=100000 , que i<=A<=50000  y que 1<=M<=2.
Código:
Entrada                               Salida
5                                        1
3    1
1    2
4    1
1    2
3    2


Mi código es el siguiente:
Código
  1. #include <iostream>
  2. #include <map>
  3.  
  4. int main(int argc, char** argv)
  5. {
  6.    int N=100000, rango=2, AnimalesEnDosMares=0, acumulador=0;
  7.    scanf("%d", &N);
  8.    int matriz[N][rango];
  9.    for(int i=0; i<N; i++)
  10.    {
  11.        scanf("%d", &matriz[i][0]);
  12.        scanf("%d", &matriz[i][1]);
  13.    }
  14.    for(int i=0; i<N; i++)
  15.    {
  16.        for(int k=0; k<N; k++)
  17.        {
  18.            if(matriz[k][0]==matriz[i][0])
  19.            {
  20.                if(matriz[k][1]==1)
  21.                {
  22.                    acumulador++;
  23.                }
  24.                if(matriz[k][1]==2)
  25.                {
  26.                    acumulador++;
  27.                }
  28.            }
  29.        }
  30.  
  31.            if(acumulador==2)
  32.        {
  33.            AnimalesEnDosMares++;
  34.        }
  35.    }
  36.        printf("\n%d", AnimalesEnDosMares);
  37.    return 0;
  38. }


Mi problema es que el ultimo acumulador siempre me da 1, aunque mete que dos animales pasaron por ambos mares.


MOD: Uso de etiquetas de Código GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines