CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Langage C : tableaux : permutations

TrololoCat
TrololoCat
Niveau 6
22 avril 2013 à 13:35:52

Bonjour,

je bloque sur un exercice en langage C sur les tableaux ; voici le sujet :
Ecrire un programme qui eectue une permutation des elements d'un tableau de i (avec i signe induisant une permutation vers la droite si i >0 et vers la gauche sinon). Par exemple si le tableau est {1,2,3,4,5,6} et i-2, le résultat sera : {5,6,1,2,3,4}.
Voici maintenant mon programme :

  1. include <stdio.h>
  2. include <stdlib.h>

int main()
{
int i;
int X;
int tt;
int k;
int t[50];
int t2[50];
printf("Entrez la taille du tableau\t");
scanf("%d",&X);
for (i=0 ; i<X ; i++)
{
printf("Entrez le nombre n. %d\n\t",i+1);
scanf("%d",&t[i]);
}
printf("Le tableau est : \n");
for (i=0 ; i<X ; i++)
{
printf("%d\t",t[i]);
}
printf("\n");
printf("Entrez la taille de la permutation : ");
scanf("%d",&tt);
for (k=0 ; k<X-tt ; k++)
{
t2[k]=t[X-tt];
}
printf("%d",t2[50]);
for (k=X-tt ; k<X ; k++)
{
t2[k+tt-X]=t[k];
}
return 0;
}
Les erreurs commencent à partir du 3eme for (aucune erreur n'est signalée par code::blocks)
Merci d'avance pour votre aide :)

TrololoCat
TrololoCat
Niveau 6
22 avril 2013 à 13:44:06

désolé pour la syntaxe pourrie je pensais pas que ça ferai ça en ctrl-c ctrl-v

Thevoxelcloud
Thevoxelcloud
Niveau 10
22 avril 2013 à 13:49:32

Mets ton code sur pastebin:
http://pastebin.com/

TrololoCat
TrololoCat
Niveau 6
22 avril 2013 à 14:18:07

http://pastebin.com/yrKkVu1x

Pseudo supprimé
Pseudo supprimé 22 avril 2013 à 16:23:19

Ce ne serait pas plutôt une rotation plutôt qu'une permutation ?

Rikkel
Rikkel
Niveau 9
22 avril 2013 à 23:28:32

C'est bien une rotation.

godrik
godrik
Niveau 30
22 avril 2013 à 23:46:37

les pointilleux diront qu'une rotation est une permutation particuliere :)

Pseudo supprimé
Pseudo supprimé 23 avril 2013 à 00:08:17

Je me trompe ou l'utilisation de l'opérateur modulo simplifierait incroyablement le code d'OP ?

godrik
godrik
Niveau 30
23 avril 2013 à 00:28:30

En effet, c'est exactement modulo qu'il cherche :) C'est ce qu'il essaye d'implementer avec ces deux boucles for.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment