2014-08-28 5 views
-1

J'ai 2 matrices de char et elles ont des tailles différentes.Traitement de 2 matrices de différentes tailles

Je dois soustraire l'un à l'autre, mais je n'ai pas réussi à le faire avec une boucle (parce qu'ils ont des tailles différentes).

C'est ce que j'ai écrit:

for (i = 0; i < text_counter; i++) 
{ 
    for (j = 0; j <= key_counter; j++) 
    { 
     text_out[i] = text_in[i] - (key[i] - '0'); 
    } 
    j = 0; 
} 

text_counter compte le nombre de caractères dans text_in, key_counter suit le nombre de caractères dans key, et la réponse est dans une troisième rangée qui est test_out.

Si un tableau est BCDEFG et l'autre est 12 le résultat devrait être AACCEE

+1

Qu'entendez-vous par chaînes de soustraction? Pouvez-vous donner un exemple de ce que vous avez/voulez? – Logar

+0

ce sont des tableaux de char si l'un est "BCDE" et l'autre est "12" je dois obtenir "AACC" –

+0

En soustrayant caractère par caractère est rien du tout comme la vérification d'un tableau entier pour la présence d'un caractère, est il? *Confus*. – unwind

Répondre

0

Essayez quelque chose comme:

j = 0; 
for (i = 0; i < text_counter; i++) 
{ 
    text_out[i] = text_in[i] - (key[j] - '0'); 
    if (j < key_counter) 
     j++; 
    else 
     j = 0; 
} 

Edit: solution avec% semble @ Matt mieux:

for (i = 0; i < text_counter; i++) 
{ 
    text_out[i] = text_in[i] - (key[i % key_counter] - '0'); 
} 
Questions connexes