Help meeeeeeeeeeeeeeeee !!!

Fermé
datamakememade -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,j'ai besoin du code de 2 fonctions :
le prototype de la premiére est int myStrCmp(char* str1, char* str2) celle ci devrait comparer deux chaines et retourné 1 si elles sont identique ou 0 si elle le sont pas.

le prototype de la deuxiem est void myStrNCpy(char* str1, char* str2, int n) celle ci devrait copié n characters de str2 a str1

merci a vous
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
     
    Montre ce que tu as fait, on t'aidera !
    0
    1. datamakememade
       
      #include<stdio.h>
      #include"myString.h"
      int main (){
      char* str1;
      char* str2;
      int result;
      printf("Enter string1:\n");
      scanf("%s",str1);
      printf("Enter string2:\n");
      scanf("%s",str2);
      result=myStrCmp(str1,str2);
      if(result==1)
      printf(" same");
      else
      printf(" different");
      }
      int myStrCmp(char* str1, char* str2){
      long i = 0;
      long caractere_egal = 0;
      long length1 = myStrLen(str1);
      long length2 = myStrLen(str2);

      //on verifie d'abord s'elles ont la meme longueur
      if(length1 == length2)
      {
      for(i = 0 ; i < length1 ; i++)
      {
      if(str1[i] == str2[i])
      {
      caractere_egal++;
      }
      }
      if(caractere_egal == length1)
      {
      return 1;
      }
      }
      else
      {
      return 0;
      }
      }




      le programe ne marche pas !!!!!
      0
  2. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
     
    Ta programmation est à améliorer. Avant de coder, étudie ton algorithme.
    Une solution pourrait être :

    int myStrCmp(char* str1, char* str2) {
    int = i;

    if (myStrLen(str1) - myStrLen(str2)) return(1) // chaine différentes

    for ( i = 0 ; i < myStrLen(str1) ; i++ ) {
    if (*(str1+i) - *(str2+i)) return(1); // Chaîne différentes
    }

    return(0); // Ok, chaînes identiques
    }

    Je n'ai pas testé, mais je ne devrais pas être loin.
    0
  3. datamakememade
     
    j'AI essayé ...toujour le mém resulta ..un messag d'erreur ...esk il ya pa d'erreur par rapor a la main function ?
    0