begin process at 2010 02 10 15:21:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

resolution systeme de N equations à N inconnues


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

resolution systeme de N equations à N inconnues

mardi 13 mai 2008 à 17:45:58 | resolution systeme de N equations à N inconnues

sweett

Bonjour
je suis nouveau sur ce site (meme si j'y ai deja passé du temps pr mon programme) et je suis coincé dans le programme que je dois realiser. Le su jet est la resolution de N systemes d'equations a N inconnues. le voila

 /*resolution systeme d'equation*/

# define N 3
#include<stdio.h>
#include<string.h>

void saisie(int*n,float systeme[3][3],float secondmembre[3])
{
        int i;
        int j;



        printf("combien de valeurs voulez vous rentrer");
        scanf("%d",n);
        for(i=1;i<=*n;i++)
        {
                for(j=1;j<=*n;j++)
                {
                        {printf("entrer le nombre%f%f,i+1,j+1");}
                {scanf("%f",&systeme[i][j]);}
                }
        }
        for(i=1;i<=*n;i++)
        {
                scanf("%f",&secondmembre[i]);
        }
        {printf("afficherles equations%f%f,systeme[i][j],secondmembre[k]");}
}
void echange (float *systeme[][],float *secondmembre[][],int *i,int *j,int *k)                                  /*a modifier car l'echange ne marche pas*/
{
        float memoire;




        memoire=systeme[i][j];
        systeme[i][j]=systeme[k][j];
        systeme[k][j]=memoire;


        memoire=secondmembre[i]
        secondmembre[i]=secondmembre[k]
        secondmembre[k]=memoire


}

main()
{
float systeme[N][N];
float secondmembre[N];
int n;
int i;
int j;
int k;

saisie(&n,systeme,secondmembre);

for(j=1;j<=n;j++)
{
        if (systeme[i+1]>systeme[i]);
        {
                echange(&systeme[i][j],&systeme[k][j]);

        }

suppression(systeme[][],secondmembre[],int *i,int *k,int*j);
}

}
void suppression (int *i,int *k,int *j,float systeme[][],float secondmembre[])
{

        int n;
        int z;

for(j=1;j<=n-1;j++)
{

        for(k=1;k<=n;k++)
        {
                systeme[i][j]/systeme[k+1][j]=z;
                secondmembre[i]/secondmembre[k+1]
                for(j=1;j<=n;j++)
                        {
                        [k][j]=[i][j]-[k][j]*z
                        }
        }
}



 secondmembre[n-1]=systeme[n][n-1]/systeme[n-1][n-1];
 systeme[n][n-1]=0;
 systeme[n-1][n-1]=0;

 for (ligne=1;ligne<=n;ligne++)
{


 for (sol=2;sol<=n;sol++)
 {


 systeme[n-ligne][n-sol]*=secondmembre[n-ligne];
 systeme[n][n-sol]-=systeme[n-ligne][n-sol];
 systeme[n-ligne][n-sol]=0;


 }

 secondmembre[n-(ligne+1)]=systeme[n][n-(ligne+1)]/systeme[n-(ligne+1)][n-(ligne+1)];

 }




il y a enormement d'erreur a partir de la fonction echange, souvent la meme qui revient "invalid use of array with unspecified bounds"
Je sais que mon niveau en informatique est miserable mais je n'y comprends rien.

Voila merci pour votre aide
mardi 13 mai 2008 à 20:32:25 | Re : resolution systeme de N equations à N inconnues

deck_bsd

Membre Club
Yop,

float *systeme[][],float *secondmembre[][],int *i,int *j,int *k

tout dabord , comme tu le dis , si ton niveau en info et plus précisément en programmation n'est pas au top :D il faudrait apprendre dabord le langage C, les bases avant de s'attaquer au pointeur ;) car:

int *i,int *j,int *k

sont des pointeurs et je supose que tu veu utiliser leur valeur dans ta fonction, donc il faut par exemple a cette ligne :

memoire=systeme[i][j]; écrire ceci memoire=systeme[*i][*j]; * permet de spécifier que l'on veut utiliser la valeur pointée par le pointeur , ici i tout cours désigne l'adresse à laquel cette valeur ce trouve. Ici d'ailleur je comprend pas le pourquoi de l'utilisation de pointeur :s .

De plus aussi revoie le passage de paramètre, car ta façons de passer les tableau 2D n'est pas bonne non plus.

echange(&systeme[i][j],&systeme[k][j]);

Tu ne passe pas tout les paramètres que attend la fonction, fin bref, bcp de chose sont a refaire, prend le temps d'étudier correctement le C :D

++
deck_bsd
___________________________________
[ [ Lien ]]
mercredi 14 mai 2008 à 18:25:01 | Re : resolution systeme de N equations à N inconnues

sweett


merci pour l'histoire de l'echange. Pour l'echange tu parles des parametres "secondmembre" ou egalement des I,j et k?Ou est l'erreur dans ma facon de passer les tableaux 2D ?Quant au C je ne le comprends pas.j'ai pourtant deja lu des cours sur les passages par adresse et passage par valeur mais pour moi c'est du chinois:D

++


Cette discussion est classée dans : ligne, int, systeme, float, secondmembre


Répondre à ce message

Sujets en rapport avec ce message

A l'aiiiiide!!!! [ par Dorn17 ] Salut j'essaie depuis un moment de créer un programme pouvant résoudre des systèmes du type Ax=b par la méthode de Gauss.Toutefois j'ai des résultats Qsort sur une ligne d'un tableau 2d [ par thespartan ] Bonjour.Jai un tableau des x,y,z de N éléments. J'aimerais trier ce tableau selon sa 3ème ligne par ordre croissant or quand j'appele qsort, il le fai Probleme de cosinus [ par Michou69004 ] Bonjour a tous. J'ai un petit probleme avec mon code. pour effectuer une rotation , j'utilise ma fonction my_rota et je suppose qu'il y a un probleme pb en openGL avec GL_LINES [ par F0ra ] Bonjour, j'ai un problème avec GL_LINES en openGL.J'ai réalisé une fonction pour afficher une ligne.Sur l'image, les lignes devraient se toucher :<fon Problème de tabeau dans un code orienté objet [ par Guiiil ] Bonsoir, je débute actuellement en C++ orienté objet et je suis bloqué avec ce programme qui doit réaliser un tableau d'élèves, prendre leur moyenne e opération flottante incorrecte ? [ par steph12358 ] Bonjour tout le mondeDésolé pour la question super basique mai j'ai un soucisCe code fonctionnait dans mon projet jusqu'à ce que j'ajoute un contrôle algorithme de greedy [ par starbluesky ] <link rel="Fi aidez-moi s'il vous plait !!!!!!!! [ par starbluesky ] Salut a tous! aidez-moi s'il vous plait  !! Je suis un étudiant en mastè Problème écriture fichier [ par pitidragon ] Bonjour à tous !J'ai besoin d'aide pour finaliser un projet pour la fac. Je dois réaliser un démineur, et j'ai un petit soucis pour finir. Je dois gér débordement de la mémoire [ par imanedaoudi ] Hi,je ne sais plus pourquoi le programme ci contre ne marche plus pour dim trés grande 60 par exemple#includeusing namespace std;void main(int argc, c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales