La tâche que je faisais est d'entrer 5 nombres aléatoires à 5 chiffres, de les comprimer et de leur faire une somme. Alors, comment pouvons-nous les compresser? Nous nous débarrassons des deuxième et quatrième chiffre. Par exemple 12345 à 10305.
C'était mon code. p> alors pourquoi mon pour code> la boucle fonctionne seulement deux fois au lieu de cinq? p> p> p>
4 Réponses :
Vous pensez vraiment cela. le voir en action ici . p> p>
pas vraiment, l'homme que j'ai besoin d'insérer 5 fois 5 numéros différents qui sont 5 chiffres et exactement ce que je suis triste "compresser" juste pour obtenir le premier troisième et cinquième numéro par leurs propres positions comme dixièmes de cent et milliers, puis calculez la somme .
@Starterpack c'est exactement ce que cela fait.
Regardez, pas la somme de 1 + 3 + 5 mais 1000 + 300 + 5 comprenez-vous maintenant comment?
@Starterpack j'ai mal compris. Corrigé ci-dessus.
@StarterPack Votre message dit que 12345 code> devrait produire 135 code>, pas 10305 code> comme votre commentaire suggère. Lequel est-ce?
10305 Mais d'accord, c'est peut-être que mon mal j'ai un très mauvais anglais .. désolé cher.
@Starterpack j'ai mis à jour pour le faire à la fois. Ne vous inquiétez pas pour les Anglais - Je parle exactement une langue couramment.
Il suffit de faire j dans la deuxième boucle sur j <5 code> et vous pouvez obtenir une somme de cinq numéros compressés à 5 chiffres pour n code > fois. P>
Ce travail mais pourquoi je ne suis pas? Quand je veux mettre à l'échelle avec l'int i?
Ok je comprends mon erreur mon est 0 c'est donc nous allons et le 0 <0 puis sauvegardez-vous sur i et allez sur i ++ puis exécutez 0 <1 et j ++ viennent 1 <1 et encore nous faisons la même erreur?
Les erreurs que j'ai mentionnées dans l'extraites étaient le seul problème de repos tout allait bien. Veuillez vous reporter à l'extrait ci-joint.
// only two loops are required
for(int i=0;i<5;i++){
scanf("%d",&number5);
sum=0;
while(number5){
num1=number5/10000;
num1*=100;//it should be 100 isntead of 10000
num3=(number5%10000)%1000/100;
num3*=10;// it should be 10 istead of 100
numb5=(number5%10000)%1000%100%10;
numb5*=1;
number5=0;
}
sum=num1+num3+numb5;
printf("%d\n",sum);
}
Son ok je le répare déjà mais ty pour l'aide que j'apprécie.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=5,i,j,number5,num1,num3,numb5;
int sum=0;
for(i=0;i<n;i++) {
scanf("%d",&number5);//runs 5 times to get 5 inputs
sum+=(number5/10000)*10000; // take the value of first position
sum+=((number5/100)%10)*100; // take the value of third position
sum+=(number5%10);// take the value of fifth position
}
printf("%d",sum);
}
Compresse? Qu'est-ce que ça veut dire?
@Eugenesh. Op signifie supprimer les chiffres. "Compresser" n'est pas vraiment le mot juste ici.
Pourquoi
j la condition dans le secondpour code> boucle?L'énoncé
numb5 = (numéro5% 10000)% 1000% 100% 10; code> est mathématiquement identique ànumb5 = numéro5% 10; code>.Si vous souhaitez saisir 5 numéros, tout ce dont vous avez besoin est une boucle qui fonctionne pour 5 itérations. Il n'y a pas besoin de 3 boucles imbriquées.
@ 3Dave tu as raison hein, et désolé pour mon mauvais anglais. Et que J
@interjay, j'ai besoin d'entrer 5 fois 5 numéros à 5 chiffres.