La siguiente función de C toma dos strings ASCII y determina si una es un anagrama de la otra. Un anagrama de una string s es una string obtenida permutando las letras en s.
int anagram (char *a, char *b) { int count [128], j; for (j = 0; j < 128; j++) count[j] = 0; j = 0; while (a[j] && b[j]) { A; B; } for (j = 0; j < 128; j++) if (count [j]) return 0; return 1; }
Elija la alternativa correcta para las declaraciones A y B.
(A) A : cuenta [a[j]]++ y B : cuenta [b[j]]–
(B) A : cuenta [a[j]]++ y B : cuenta[b[j]]++
(C) A : cuenta [a[j++]]++ y B : cuenta[b[j]]–
(D) A : cuenta [a[j]]++ y B : contar[b[j++]]–
Respuesta: (D)
Explicación:
#include <stdio.h> char a[100], b[100]; int main(void) { int flag; printf("Enter first string\n"); gets(a); printf("Enter second string\n"); gets(b); flag = anagram(a, b); if (flag == 1) printf("\"%s\" and \"%s\" are anagrams.\n", a, b); else printf("\"%s\" and \"%s\" are not anagrams.\n", a, b); return 0; return 0; } int anagram (char *a, char *b) { int count [128], j; for (j = 0; j < 128; j++) count[j] = 0; j = 0; while (a[j] && b[j]) { count [a[j]]++; count[b[j++]]--; } for (j = 0; j < 128; j++) if (count [j]) return 0; return 1; }
Cuestionario de esta pregunta
Comente a continuación si encuentra algo incorrecto en la publicación anterior
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA