3 exercices

3 exercices - C - Programmation

Marsh Posté le 18-12-2008 à 01:24:12    

Bonjour à tous, voila pour après demain je dois rendre un travail, seulement j'ai un peu de mal à faire mes programmes et je n'aurai probablement pas le temps de les faire.
Si quelqu'un pouvais m'aider à faire ces 3 exercices ou meme les faire a ma place :$:D, je lui en serait vraiment reconnaissant.
 
Voila donc les énoncés :
 
                           
                                   
Ex 1: On déclare 2 vecteurs de nombres réels de taille 50. L'utilisateur choisit le nombre d'éléments que vont contenir    
ces 2 vecteurs et on remplit ces derniers aléatoirement de nombres compris entre -10 et 10.                                            
Ecrire un programme qui - trie par ordre décroissant chaque vecteur (tri par insertion)          
         - crée un 3eme vecteur trié par ordre décroissant composé de tous les éléments de vec1 ainsi que  
les éléments de vec2 inférieurs à la moyenne arithmétique des nombres contenus dans vec1.        
                         - affiche les 3 vecteurs.                  
                               
 
 
Ex 2: Ecrire un programme qui, par l'appel à une fonction STRSUP, lit deux chaînes de caractères mot1 et mot2 au clavier  
et qui élimine toutes les lettres de mot1 qui apparaissent aussi dans mot2. La fonction renvoie la nouvelle chaîne ainsi  
crée. Exemple: mot1 = "chocolat" mot 2 = "cahier" --> "ocolt".                    
 
 
 
Ex 3: On déclare un vecteur de nombres réels de taille 100. L'utilisateur choisit le nombre d'éléments contenus dans ce    
vecteur. Ecrire un programme comportant diverses manipulations du vecteur moyennant l'utilisation de certaines fonctions:  
                                   
- la fonction SAISIE qui permet d'entrer les éléments choisis par l'utilisateur.            
- la fonction AFFICHE pour l'affichage du vecteur.                    
- la fonction TRI qui trie le vecteur par ordre décroissant (tri par extraction).          
- la fonction RECHERCHE qui vérifie la présence ou non d'un nombre (saisi par l'utilisateur) dans le vecteur trié. La      
fonction renvoie 1 si le nombre est trouvé et 0 sinon. Pour la recherche, on utilisera l'algorithme de la recherche      
dichotomique.  
 
 
 
 
Je remercie énormement les gens qui pourront m'aider !!!!!
 
 
Merci beaucoup.  

Reply

Marsh Posté le 18-12-2008 à 01:24:12   

Reply

Marsh Posté le 18-12-2008 à 02:00:51    

Maxime458 a écrit :

Bonjour à tous, voila pour après demain je dois rendre un travail, seulement j'ai un peu de mal à faire mes programmes et je n'aurai probablement pas le temps de les faire.
Si quelqu'un pouvais m'aider à faire ces 3 exercices ou meme les faire a ma place :$:D, je lui en serait vraiment reconnaissant.


[:mlc]


Message édité par gatsu35 le 18-12-2008 à 02:01:05
Reply

Marsh Posté le 18-12-2008 à 02:06:06    

Maxime458 a écrit :

Bonjour à tous, voila pour après demain je dois rendre un travail, seulement j'ai un peu de mal à faire mes programmes et je n'aurai probablement pas le temps de les faire.
Si quelqu'un pouvais m'aider à faire ces 3 exercices ou meme les faire a ma place :$:D, je lui en serait vraiment reconnaissant.
 
Voila donc les énoncés :
 
                           
                                   
Ex 1: On déclare 2 vecteurs de nombres réels de taille 50. L'utilisateur choisit le nombre d'éléments que vont contenir    
ces 2 vecteurs et on remplit ces derniers aléatoirement de nombres compris entre -10 et 10.                                            
Ecrire un programme qui - trie par ordre décroissant chaque vecteur (tri par insertion)          
         - crée un 3eme vecteur trié par ordre décroissant composé de tous les éléments de vec1 ainsi que  
les éléments de vec2 inférieurs à la moyenne arithmétique des nombres contenus dans vec1.        
                         - affiche les 3 vecteurs.                  
                               
 
 
Ex 2: Ecrire un programme qui, par l'appel à une fonction STRSUP, lit deux chaînes de caractères mot1 et mot2 au clavier  
et qui élimine toutes les lettres de mot1 qui apparaissent aussi dans mot2. La fonction renvoie la nouvelle chaîne ainsi  
crée. Exemple: mot1 = "chocolat" mot 2 = "cahier" --> "ocolt".                    
 
 
 
Ex 3: On déclare un vecteur de nombres réels de taille 100. L'utilisateur choisit le nombre d'éléments contenus dans ce    
vecteur. Ecrire un programme comportant diverses manipulations du vecteur moyennant l'utilisation de certaines fonctions:  
                                   
- la fonction SAISIE qui permet d'entrer les éléments choisis par l'utilisateur.            
- la fonction AFFICHE pour l'affichage du vecteur.                    
- la fonction TRI qui trie le vecteur par ordre décroissant (tri par extraction).          
- la fonction RECHERCHE qui vérifie la présence ou non d'un nombre (saisi par l'utilisateur) dans le vecteur trié. La      
fonction renvoie 1 si le nombre est trouvé et 0 sinon. Pour la recherche, on utilisera l'algorithme de la recherche      
dichotomique.  
 
 
 
 
Je remercie énormement les gens qui pourront m'aider !!!!!
 
 
Merci beaucoup.  


 
Tu payes combien?

Reply

Marsh Posté le 18-12-2008 à 07:20:46    

lol, je sais pas, je post toujours ca pour voir si quelqu'un a le temps, mais en rentrant des cours je vais les faire et vous dire ou je bloque.
 
Si personne n'a de temps.
 
Merci ;)

Reply

Marsh Posté le 18-12-2008 à 10:15:24    

Code :
  1. #include<conio.h>
  2. #include<time.h>
  3. #include<stdlib.h>
  4. void main()
  5. {
  6. int v1[50],v2[50],nbrE,nbrE2,l,i,temp,j;
  7.     srand(time(NULL));
  8.     do
  9. {
  10.        printf("Entrer le nombre d'element pour le premier vecteur " );
  11.    scanf("%d",&nbrE);
  12. }while(nbrE <=50 && nbrE < 0);
  13.    
  14.        
  15.         i=0;
  16.  while(i<nbrE)
  17.  {
  18.   l=(rand()%21-10);
  19.   v1[i]=l;
  20.   i++;
  21.  }
  22.  i=0;
  23.  while(i<nbrE)
  24.  {
  25.   printf("%-5d", v1[i]);
  26.   i++;
  27.  }
  28.  i=0;
  29.  nbrE=0;
  30.  do
  31.  {
  32.  printf("\nEntrer le nombre d'element pour le deuxieme vecteur " );
  33.     scanf("%d",&nbrE2);
  34.  }while(nbrE2 <=50 && nbrE2 < 0);
  35.  i=0;
  36.         while(i<nbrE2)
  37.  {
  38.   l=(rand() % 21-10);
  39.   v2[i]=l;
  40.      i++;
  41.  }
  42.  i=0;
  43.  while(i<nbrE2)
  44.  {
  45.   printf("%-5d", v2[i]);
  46.   i++;
  47.  }
  48.  for (i= 1; i<=4; i++)
  49.  {
  50.   for (j=i+1; j<=5; j++)
  51.   {
  52.    if (v1[i] >= v1[j])
  53.    {
  54.        temp = v1[i];
  55.                     v1[i] = v1[j];
  56.                     v1[j] = temp;
  57.    }
  58.   }
  59.  }
  60.  i=0;
  61.  printf("\nLes vecteurs dans l ordre decroissant sont : \n" );
  62.  while(i<nbrE)
  63.  {
  64.   printf("-5%d", v1[i]);
  65.   i++;
  66.  }
  67. }


 
 
 
 
 
 
voila je bloque deja a l'ex1  
mon tri par insertion ne fonctionne pas :'(
Quelqu'un sait d'ou ca vient?


Message édité par gilou le 18-12-2008 à 11:33:24
Reply

Marsh Posté le 18-12-2008 à 10:35:44    

Met des balises code pour commencer !


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 18-12-2008 à 15:06:43    

Et mets des commentaires, c'est illisible là ;)

Reply

Marsh Posté le 18-12-2008 à 15:19:12    

Et vas lire la règle [0D] de la cat prog, aussi.

 

Et sépares la fonction de tri du reste du bordel, ça sera ptet plus facile à lire, écrire et tester.


Message édité par masklinn le 18-12-2008 à 15:19:42

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 18-12-2008 à 15:58:14    

Au boulot


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 18-12-2008 à 16:58:55    

Je bloque sur le tri d'insertion j'comprends pas d'ou vient le probleme.

Reply

Marsh Posté le 18-12-2008 à 16:58:55   

Reply

Marsh Posté le 18-12-2008 à 17:28:13    

Oué, faudra te sortir un peu les doigts du luc, là. Ton code refoule le truc tapé en 5 minutes, à peine testé. Si tu suis des cours en info et que désespère à la moindre difficulté tu n'iras nulle part. Il y a vraiment des erreurs énormes :

  • Cette condition est foireuse :

    Code :
    1. while(nbrE <=50 && nbrE < 0)

    Tu ne sortiras de là qu'en entrant un nombre>50. Supaire, tes tableaux ne peuvent pas contenir plus de 50 éléments, donc tu vas te taper un buffer overflow. Tu voulais pas écrire plutôt :

    Code :
    1. while(! (0 < nbrE && nbrE <= 50))

  • On te demande un tri par insertion et tu as le début d'un truc ressemblant vaguement à un tri à bulle. Relis tes cours.

Reply

Marsh Posté le 18-12-2008 à 23:44:49    

Merci de lire les règles de la catégorie Programmation :
 

Citation :

[0D] De la même manière, les demandes de résolutions d'exercices ne seront pas acceptées
 
    * Du moins, s'il s'agit d'une demande de solution toute faite, sans effort manifeste du côté du demandeur. Cette décision a été prise étant donné le nombre croissant de ce type de demandes lors des périodes de reprise des cours ou d'approche des périodes d'examens.


http://forum.hardware.fr/hfr/Progr [...] 4544_1.htm
 
 
Je ferme ce sujet.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed