sale raro porque intentas que la escritura del numero salga ordenada, pero al presionar enter para introducir el dato, saltas de linea... separa la lectura y la escritura, un ciclo para cada cosa...
tienes un error que no se como no te hizo fallar el programa
miralo de esta manera... tu eres el router... una oficina de correo... tienes 17 clientes, los cuales se identifican con nombre y apellido (ip) y dirección (mac), ellos solo tienen derecho a enviar 1 carta por hora, si un cliente te envía una carta tu ves su nombre, apellido y dirección dices que es valida, alguien falsifica la carta con exactamente los mismos datos, es valida.... si el falsificador envía la carta y durante la hora de espera el otro envía una carta, esto es una colisión, pero todos no están enviando cartas 24/7, cuando uno está haciendo algo diferente, el impostor envía, y si ambos envian, sus correo se mezclarán y hay colisión...
a lo que quiero llegar es que: si, pueden haber 2 equipos si tienen misma mac e ip, el router no lo sabe y listo... si ambos transmiten hay colisión si los paquetes son simultáneamente enviados... pero si no es así, no hay colisión (podrían pasar intercalados, si el internet es de 1mb/s y el wifi es de 50mb/s hay solo 1 entre 50 posibilidades de colisión)
sin contar la seguridad... podrían sniffear TODO tu trafico, hacerte ataques de suplantancíon de paginas web y demás
??? o suena a una excusa! XD puedes colocar un filtro en esa parte del sistema ya que sabes por donde sube y listo adíos ataque shell... es uno de los ataque más faciles de bloquear! XD