¿Cómo imprimo una matriz de enteros con índices de caracteres en c o c ++?

Considere std :: map .

#include  #include  int main() { std::map a; a['g']=2;a['e']=4; a['k']=2; a['s']=2; a['f']=1;;a['o']=1;a['r']=1; for (const auto& cit : a) { std::cout << cit.first << " = " << cit.second << std::endl; } } 

g ++ -std = c ++ 11 map.cpp && ./a.out

  e = 4
 f = 1
 g = 2
 k = 2
 o = 1
 r = 1
 s = 2

Si C ++ 11 te asusta:

 #include  #include  int main() { std::map a; a['g']=2;a['e']=4; a['k']=2; a['s']=2; a['f']=1;;a['o']=1;a['r']=1; for (std::map::const_iterator cit = a.begin(); cit != a.end(); ++cit) { std::cout <first << " = " <second << std::endl; } } 

g ++ map.cpp && ./a.out

Produce el mismo resultado.

Suponiendo que tiene una matriz de este tipo, y cada ubicación se ha inicializado previamente a 0 o cualquier otro número, podría

  for (int i = 'e'; i <= 's'; i ++) {
     if (a [i]! = 0)
          printf ("% c =% d \ n", i, a [i]);
 }

Esto funciona porque los caracteres y los enteros son intercambiables en C. Pero para mí, parece que lo que quieres hacer es crear e imprimir un hash. ¿Probablemente deberías leer más sobre hashing?

Bueno, en realidad no puede imprimir esa matriz específica utilizando ninguno de los métodos. Probablemente, si ha inicializado una matriz con todos los caracteres que tienen algún valor base inicial, puede imprimir de la manera que ha especificado. Si el valor base de la matriz es, digamos, -999. Entonces puedes usar el siguiente código

  para (i = 96; i <(122; i ++)
 if (a [i]! = - 999)
 printf ("% c =% d", i, a [i]);

More Interesting

Cómo pasar la fase de selección para programar la entrevista

¿Cuándo puedes calificarte 8/10 en lenguaje C?

¿Cómo es que algunas compañías tecnológicas aún no requieren pruebas de codificación de pizarra en entrevistas?

¿Cuál es la mejor manera de prepararse para una entrevista de desarrollador Java la próxima semana?

Cómo pensar en voz alta durante la entrevista técnica

Cómo prepararse para una entrevista técnica en Myntra para el perfil de desarrollador web

¿Por qué no puedo conseguir un trabajo en algunos gigantes tecnológicos a pesar de que me va bien en las entrevistas? El tipo de puestos para los que entrevisto son nuevos ingenieros de posgrado / software. Siempre pido comentarios pero simplemente no responden.

¿Cómo respondería: "¿Preferiría trabajar en Microsoft o Google si tuviera ofertas de ambos y la ubicación y el pago fueran equivalentes", preguntó en una entrevista para un puesto en Microsoft?

¿Cómo debo responder a una pregunta de QA / Programación de prueba?

¿Cuáles son las preguntas importantes que un entrevistador puede hacer desde la red informática?

¿Cuáles son algunas preguntas comunes en una entrevista de cuatro grandes?

Dada una lista de 'n' palabras, verifique si forman una cadena de palabras. En una cadena de palabras, las palabras adyacentes deben diferir exactamente en una letra, por ejemplo, ¿curar, cabeza, muerto, escritura, ciervo, cerveza?

¿Qué tipo de preguntas de entrevista puedo esperar si elijo circuitos electrónicos analógicos y circuitos microelectrónicos?

¿Cuáles son las preguntas más comunes que se hacen en las entrevistas para IAS?

¿Cuántas rondas de entrevistas hay en Amazon y cuáles son algunas de las preguntas que se hacen?