begin process at 2012 05 29 13:00:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Multiplication d'une matrice par un scalaire


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

Multiplication d'une matrice par un scalaire

samedi 30 octobre 2004 à 18:26:14 | Multiplication d'une matrice par un scalaire

skrime

Bonjour, j'ai un exercice à faire qui consiste à multiplier une matrice par un scalaire en C (la prof ne veut pas qu'on se serve des boucles FOR), je viens d'écrire ce programme qui m'a l'air bon, mais qui bug une fois que j'ai saisi la matrice et le scalaire !
Merci d'avance pour votre aide !
Voici le programme


// EXERCICE 2 : MULTIPLICATION D'UNE MATRICE PAR UN SCALAIRE //
#include <stdio.h>
#define nb_ligne 4
#define nb_colonne 4
typedef int TAB_BASE[nb_ligne][nb_colonne];
typedef int TAB_MULTI[nb_ligne][nb_colonne];

//Sous-programme de saisie de la matrice///////////////////////////////////
void saisie_matrice(TAB_BASE t)
{
int i = 0;
printf("Saisissez la matrice que vous souhaitez multplier par un scalaire\n");
while(i<nb_ligne)
{
int j = 0;
while(j<nb_colonne)
{
printf("Saisissez le champ [%d][%d] : ",i,j);
scanf("%d",&t[i][j]);
j = j+1;
}
i=i+1;
}
return;
}
/////////////////////////////////////////////////////////////////////////


//Sous-programme de saisie du scalaire///////////////////////////////////
int saisie_scalaire(int scalaire)
{
printf("Saisissez le scalaire que vous souhaitez multiplier par la matrice : ");
scanf("%d",scalaire);
return scalaire;
}
////////////////////////////////////////////////////////////////////////


//Sous-programme de multiplication de la matrice de base par le scalaire////
void multiplication(TAB_BASE t,int scalaire,TAB_MULTI m)
{
int i = 0;
while(i<nb_ligne)
{
int j = 0;
while(j<nb_colonne)
{
m[i][j]=t[i][j]*scalaire;
}
i=i+1;
}
return;
}
/////////////////////////////////////////////////////////////////////////




int main(void)
{
TAB_BASE t;
TAB_MULTI m;
int i,j,scalaire;
saisie_matrice(t);
saisie_scalaire(scalaire);
multiplication(t,scalaire,m);

//Affichage du produit scalaire//
printf("Le produit scalaire choisi est : %d",scalaire);
/////////////////////////////////


// Affichage de la matrice de base//
printf("La matrice de base est : \n");
i = 0;
while(i<nb_ligne)
{
j = 0;
while(j<nb_colonne)
{
printf("%d ",t[i][j]);
}
printf("\n");
i=i+1;
}
////////////////////////////////////


//Affichage de la matrice obtenue//
printf("La matrice obtenue est : \n");
i = 0;
while(i<nb_ligne)
{
j = 0;
while(j<nb_colonne)
{
printf("%d ",m[i][j]);
}
printf("\n");
i=i+1;
}
////////////////////////////////////



}
samedi 30 octobre 2004 à 22:51:29 | Re : Multiplication d'une matrice par un scalaire

luhtor

Regarde, tu as un problème de portée de variable. Tu fais ceci:
multiplication(t,scalaire,m);

Ta variable m n'est pas modifié lors de la fonction multiplication.

Il faut déclarer ta fonction multiplication de la facon suivante. Tu as juste a changer:

void multiplication(TAB_BASE t,int scalaire,TAB_MULTI m)
{
int i = 0;
...

en

void multiplication(TAB_BASE t,int scalaire)
{
int i = 0;
...

Je pense que la, ca devrait marcher.
Personnellement, je trouve l'exercice d'une débilité :)
Puisqu'une boucle for, on peut très bien la faire avec un while.
jeudi 16 juin 2005 à 13:45:55 | Re : Multiplication d'une matrice par un scalaire

Babilys

Même en faisant ce que tu as dit  Luthor (c'est à dire d'enlever le TAB_MULTI m)
cela ne marche pas; il me retourne 4 erreurs.
Ce que je ne comprend pas c'est qu'il faut bien retourné la table m dans fonction vu qu'on l'appelle dans la fonction multiplication :/



Cette discussion est classée dans : int, printf, nb, matrice, scalaire


Répondre à ce message

Sujets en rapport avec ce message

Comment imprimer le contenu d'une structure? [ par madalf17 ] Salut, j'aimerai savoir comment imprimer le contenu d'une structure.Voici une partie du code dont la fonction affichage, je voudrai imprimer ce que ce compilation mai au lancement "erreur la memoire ne peu pas pas etre read" [ par touny23 ] je maitrise pas tro le C.mai comme j ai un projet a faire dessus pour la rentré , je sui obligé de m y mettre .j arrive a compiler sous dev-cpp mai lo classe matrice [ par pabreto ] bonjour!je dois écrire le matrice.c d'une classe de matrice à partir d'un matrice.h que l'on me donne et que je n'a pas le droit de modifier.voici mes Return tableau? [ par zut69 ] Bonjour,Je suis en train d'écrire un petit programme sur les matrices en C, mais vu que je veux faire quelque chose d'assez général, j'ai besoin que d Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime delete matrice c++ [ par olfamzoughi ] bonjour Je suis débutante en c/c++. j essaye de supprimer une matrice de taille 2*Nb_pt par le code suivant: //////////////////////////////////////// besoin d aide pour les opérations sur les matrices [ par mbasse ] bonjour voici mon programme sur les addition la soustraction la multiplication et le recherche de déterminant sur les matrices. Tjrs lors que je compi creation automatique d'une matrice [ par nissan1 ] Bonjour a tous, Je travail sur mon sujet de stage et je suis bloquer depuis quelques jours car j'ai fait un programme qui contient une fonction qui p Envoyer un pointeur sur un tableau [ par xcxl ] Bonjour, J'ai une question sur les pointeurs à vous poser (décidément les pointeurs y'a pas plus complexe...erreur de segmentation à chaque fois) J' jeux mode console en c [ par fifiprog ] Bonsoir a tous je dois creer un jeux sur un damier 10x10 ou tout d'abord deux joueurs pourrons s'affronter c'est le jeux des loups et agneau le but es


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,998 sec (3)

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