Somme matriciel [Résolu]

Signaler
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008
-
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008
-
salut mes amis ca va ;
Pouver-vous m'aider a ecrire un programme optimale en C qui va faire la somme de deux MATRICE.
Mon compilateur est Code::Block

MeRcI

25 réponses

Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

J'ai effectivement une proposition : retourne lire le passage du reglement qui dit de ne pas venir chercher des codes tout faits. Et ensuite fouille un peu le net, c'est pas une fonction qui est compliquée a faire, tu dois trouver des exemples a la pelle. Et enfin, penche toi sur le langage, n'espere pas pouvoir y echapper si tu dois realiser ton stage ...

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

-> "salut mes amis ca va ;"     :  ca va ca va

-> " Pouver-vous m'aider a ecrire"   :  loupé , on est là pour t'aider a resoudre tes problemes dans un code deja fait.

Reviens quand tu auras un peu reflechi a l'algo et sur comment l'implementer  ;)

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Bonjour;
d'acoord mon amis;
Le voila -mais il ne veux pas se compiler- SOS
DEV-C++

#include <cstdlib>
#include
#include <vector>


int main(int argc, char *argv[])
{
   
float *fvecteur(int n)
 
   float *v;
   v=(float*)malloc(n*sizeof(float));
   if(v=NULL) Erreur("pb d'allocation de memoire");
   return v;
  }
void Erreur(char *texte)
  {
   printf("\n\n\n %S",texte);
   getch();
   exit(1);
  }


float **fmatrice(int m,int n)
  {
   int i;
   float **A;
   A=(float**)malloc(m*sizeof(float*));
   if(A==NULL) Erreur("Pb d'allocation de memoire");
   for(i=0;i<m;i++)
    {
     A[i]=(float*)malloc(n*sizeof(float))
     if(A[i]==NULL)Erreur("Pb d'allocation de memoire");
    }
   return A;
  }


float **Somme(float **A,float **B,int m,int n)
  {
   int i,j;
   for(i=0;i<m;i++)
   for(j=0;j<n;j++)
   A[i][j]=A[i][j]+B[i][j];
   return A;
  }


}

Et Merci
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Faudrait aussi que tu nous passes les erreurs qui sont genérées à la compilation pour voir un peu, j'ai pas refait tout le cheminement du programme dans a tete, et un peu la flemme pour l'instant ^^

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Les Voici :

Compiler: Default compiler
Building Makefile: "C:\Documents and Settings\USER\Bureau\Makefile.win"
Executing  make...
make.exe -f "C:\Documents and Settings\USER\Bureau\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"  


main.cpp: In function `int main(int, char**)':


main.cpp:10: error: expected init-declarator before "float"
main.cpp:10: error: expected `,' or `;' before "float"
main.cpp:11: error: `v' undeclared (first use this function)
main.cpp:11: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:11: error: `n' undeclared (first use this function)
main.cpp:12: error: `Erreur' undeclared (first use this function)


main.cpp: In function `void Erreur(char*)':
main.cpp:16: error: `void Erreur(char*)' used prior to declaration


main.cpp:18: error: `getch' undeclared (first use this function)
main.cpp: In function `float** fmatrice(int, int)':
main.cpp:31: error: expected `;' before "if"


main.cpp: At global scope:
main.cpp:45: error: expected declaration before '}' token


make.exe: *** [main.o] Error 1


Execution terminated
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Attends, je crois que je vois, fvecteur c'est une fonction que tu as ecrite, c'est ca ?

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

oui
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Alors faut sortir toutes tes fonctions de ton main en premier lieu.

ton main est une fonction comme les autres, toutes les declarations de fonction doivent etre faites au meme niveau, et ensuite tu utilises ces fonctions dans ton main.

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

OK je devrais esssaier
ah Merci
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

c comme ca:

#include <cstdlib>
#include
#include <vector>


int main(int argc, char *argv[])
  
float *fvecteur(int n)
  { w
   float *v;
   (v=(float*)malloc(n*sizeof(float));
   if(v=NULL) Erreur("pb d'allocation de memoire");
   return v;
    }
     void Erreur(char *texte)
    {
    printf("\n\n\n %S",texte);
    getch();
    exit(1);
  }


float **fmatrice(int m,int n)
  {
   int i;
   float **A;
   A=(float**)malloc(m*sizeof(float*));
   if(A==NULL) Erreur("Pb d'allocation de memoire");
   for(i=0;i<m;i++)
    {
     A[i]=(float*)malloc(n*sizeof(float))
     if(A[i]==NULL)Erreur("Pb d'allocation de memoire");
    }
   return A;
  }


float **Somme(float **A,float **B,int m,int n)
  {
   int i,j;
   for(i=0;i<m;i++)
   for(j=0;j<n;j++)
   A[i][j]=A[i][j]+B[i][j];
   return A;
  }





SI NON AIDER MOI
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

#include <cstdlib>
#include
#include <vector>


   
float *fvecteur(int n)

   float *v;
   v=(float*)malloc(n*sizeof(float));
   if(v=NULL) Erreur("pb d'allocation de memoire");
   return v;
  }


void Erreur(char *texte)
  {
   printf("\n\n\n %S",texte);
   getch();
   exit(1);
  }


float **fmatrice(int m,int n)
  {
   int i;
   float **A;
   A=(float**)malloc(m*sizeof(float*));
   if(A==NULL) Erreur("Pb d'allocation de memoire");
   for(i=0;i<m;i++)
    {
     A[i]=(float*)malloc(n*sizeof(float))
     if(A[i]==NULL)Erreur("Pb d'allocation de memoire");
    }
   return A;
  }


float **Somme(float **A,float **B,int m,int n)
  {
   int i,j;
   for(i=0;i<m;i++)
   for(j=0;j<n;j++)
   A[i][j]=A[i][j]+B[i][j];
   return A;
  }


int main(int argc, char *argv[])
{


float * vect;


vect = fvecteur(3);  // par exemple, je ne sais pas a quoi te sert ta fonction


return 0;

}

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Mantenant le prof ma dit d'ecrire  deux fonciton et les mettres dans une Bibliotheque.
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

http://www.siteduzero.com/tuto-3-3040-1-la-programmation-modulaire.html#ss_part_3

Et reste sur ce site, il a l'air pas mal pour apprendre à programmer en C (comme ca tu sauras et ton prof sera fier de toi )

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Merci Mon AMIS   
Et Bonne vacance.
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Bonjour ;


re;


je suis la, vous n'pouvez pas débarsassé de moi



je peux pas oublierse forum mm avec un site agréable <"siteduzero">.



Mantenant je suis entraint de creer une bibliothrque Dynamique avec qlq Fonction.


avez-vous deja fait ca ?
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

salut;
re

Maintenant il ma dit de: lire un tableau entier!!
Et afficher les nombres paires.
Ahh qeul STAGE on été avec un professeur d'informatique -langage C-
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Ben tu utilises une boucle comme tu l'as fait précédemment, et a chaque itération tu testes si ton chiffre modulo 2 ca vaut bien 0, avant d'afficher. Où se trouve la difficulté ?

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Merci mon pot, pas dificulté,mais je ne ve pas fair des erreur ;par ce ke dans la 1er fois le prof  ma caser la téte .
il me critique bcp par ce ke je suis entrait de faire un stage chez lui dans une Ecole Superieur.
@+
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

re;
je travaille mantenant avev Code::Block
corige moi ce si SVP

#include<stdlib.h>

int i;
int tab[] = {3, 4, 5, 6, 7, 8, 9, 10};

for(i = 0; i < 8; i++)
    if(!(tab[i] & 1)) printf("%d\n", tab[i]);

if(!(tab[i] % 2)) -> paire

return()
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Salut,
Il faut d'abord LA LECTURE /(METRE UNE FONCTION DE LA LECTURE D'UN VECTEUR)

Mais avez vouz une idé ou quelque proposition?
aider moi ca sera noter
@+