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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Buenos días,tengo muchas dudas con un ejercicio de caracteres.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buenos días,tengo muchas dudas con un ejercicio de caracteres.  (Leído 2,427 veces)
el gusanillo

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Buenos días,tengo muchas dudas con un ejercicio de caracteres.
« en: 26 Febrero 2018, 11:07 am »

Escribid un programa que dado un array de 10 caracteres (introducidos a mano en el código),calcule cuántas veces aparecen dos caracteres iguales seguidos. Si por ejemplo hay tres caracteres iguales seguidos,consideremos que un carácter no puede pertenecer a dos parejas.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Buenos días,tengo muchas dudas con un ejercicio de caracteres.
« Respuesta #1 en: 26 Febrero 2018, 11:26 am »

Piensa en una lista de caracteres aleatorios y no conoces su orden en una cinta de papel y esta cinta de papel pasa por debajo de un hoja con una ventanita que solo deja ver un carácter. Tienes una lápiz para escribir los resultados.
¿Cómo procederías?

Código:
    |----------------| < hoja opaca
    |       _ventana |
====|===???|A|????===|==== < cinta con caracteres
    |       -        |
    |----------------|
Los ? son los caracteres que quedan ocultos y solo se mostrarán al pasar por la ventana


En línea

Mahlahj

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Buenos días,tengo muchas dudas con un ejercicio de caracteres.
« Respuesta #2 en: 27 Febrero 2018, 06:50 am »

Supongo te has de referir a la moda de los datos... ¿?
En línea

dijsktra

Desconectado Desconectado

Mensajes: 110


Mr Edsger Dijsktra (Tribute to)


Ver Perfil
Re: Buenos días,tengo muchas dudas con un ejercicio de caracteres.
« Respuesta #3 en: 27 Febrero 2018, 12:47 pm »

Un problema bonito y "raro"...
Ahí va un programa que vale para cualquiera N carcateres, (hasta 1000), metidos por teclado, hasta que se mete el fin de fichero... (no incluye separadores entre los caracteres)

Código
  1. #include <iostream>
  2. #include <algorithm> // min, max
  3.  
  4. using namespace std;
  5.  
  6. #define MAX 1000
  7.  
  8. /*
  9.  
  10.  
  11.   P : N >= 0
  12.   Q : count = #i : 0 <= i < N-1: twin(V,N,i)
  13.  
  14.   where twin(V,N,i) ::= V[i]==V[i+1]) &&
  15.                         ((i==0) ||
  16.                         ((i>0) and V[i]!=V[i-1]) ||
  17.                         (i>1) and V[i-1]==V[i-2])
  18.  
  19. */
  20. int twins(const int V[MAX], const int N)
  21. {
  22.  int n,count;
  23.  for(n=count=0; n<N-1 ; n+=1+(V[n]==V[n+1]))
  24.    count += (V[n]==V[n+1]) ;
  25.  return count;
  26. }
  27.  
  28. int main(int argc, char *args[])
  29. {
  30.  char c;
  31.  int N;
  32.  int V[MAX];
  33.  for ( N=0  ; (N<MAX) && (cin >> c) ; N++ )  V[N]= c;
  34.  cout << N << " " << twins(V,N) << endl;
  35.  return 0;
  36. }
  37.  
  38. /*
  39.  
  40. 0           n                             N
  41. +-----+-----+-----+-----+-----+-...-+-----+
  42. |  a  |  a  |  a  |  b  |  b  |     |  r  |
  43. +-----+-----+-----+-----+-----+-...-+-----+
  44.  
  45. (Bizarre...)
  46.  
  47.   I : Q[N/n] and
  48.       0 <= n <= N
  49.        
  50.   B : n<N-1
  51.   C(n) : N-n >= 0
  52.   step : n = n + (1 + V[i]==V[i+1])
  53.   O(n) (linear)
  54.  
  55. */




Código:
a

El primer parametro da el numero de caracteres leidos (N) el segundo, el numero de "parejas" según el criterio del problema

Código:
1 0

Código:
aaa

Código:
3 1

Código:
aaaaa

Código:
5 2

Código:
aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooo*

Código:
46 15

(La linea tiene 46 caracteres y 15 parejas)

Y la bonita. Es importante el * porque cin no toma separadores y saldrian más parejas de las normales, juntando los renglones.
Código:
aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooo*
oooaaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnn*
nnnoooaaabbbcccdddeeefffggghhhiiijjjkkklllmmm*
mmmnnnoooaaabbbcccdddeeefffggghhhiiijjjkkklll*
lllmmmnnnoooaaabbbcccdddeeefffggghhhiiijjjkkk*
kkklllmmmnnnoooaaabbbcccdddeeefffggghhhiiijjj*
jjjkkklllmmmnnnoooaaabbbcccdddeeefffggghhhiii*
iiijjjkkklllmmmnnnoooaaabbbcccdddeeefffggghhh*
hhhiiijjjkkklllmmmnnnoooaaabbbcccdddeeefffggg*
ggghhhiiijjjkkklllmmmnnnoooaaabbbcccdddeeefff*
fffggghhhiiijjjkkklllmmmnnnoooaaabbbcccdddeee*
eeefffggghhhiiijjjkkklllmmmnnnoooaaabbbcccddd*
dddeeefffggghhhiiijjjkkklllmmmnnnoooaaabbbccc*
cccdddeeefffggghhhiiijjjkkklllmmmnnnoooaaabbb*
bbbcccdddeeefffggghhhiiijjjkkklllmmmnnnoooaaa*

15 lineas por 15 parejas da 225 parejas


Código:
690 225


« Última modificación: 20 Junio 2018, 18:32 pm por dijsktra » En línea

Si la depuración es el proceso de eliminar fallos en el software, entonces programar debe ser el proceso de ponerlos dentro. (Edsger Dijsktra)
el gusanillo

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Buenos días,tengo muchas dudas con un ejercicio de caracteres.
« Respuesta #4 en: 2 Marzo 2018, 18:51 pm »

Buenas tardes, muchas gracias por la ayuda.Dedico el fin de semana para trabajarlo y plantear posibles dudas.
Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Buenos Días a Todos
Dudas Generales
BANBAN 2 2,345 Último mensaje 20 Diciembre 2013, 04:36 am
por Eleкtro
buenos dias regresando
Foro Libre
xrootvzlax 0 1,466 Último mensaje 9 Noviembre 2014, 16:58 pm
por xrootvzlax
tengo muchas dudas sobre lo como usar bien los objetos
Programación C/C++
codi21 4 2,809 Último mensaje 28 Julio 2017, 21:44 pm
por codi21
buenos dias
Foro Libre
yoda1204 2 1,450 Último mensaje 29 Septiembre 2019, 18:14 pm
por engel lex
Hola buenos dias ,consulta con virtualbox
Software
renzo18000 4 2,011 Último mensaje 22 Abril 2020, 22:12 pm
por renzo18000
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines