Matrice_somme
Résolu/Fermé
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
-
24 janv. 2008 à 19:26
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 - 26 janv. 2008 à 22:53
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 - 26 janv. 2008 à 22:53
14 réponses
mamiemando
Messages postés
33393
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
24 janv. 2008 à 20:56
24 janv. 2008 à 20:56
Vu que tu n'as pas précisé le langage, en pseudo code :
Bonne chance
M = matrice(nb_ligne,nb_colonne) Pour i = 1 à nb_ligne Ecrire "Somme de la ligne " i " = " s = 0 Pour j = 1 à nb_colonne s = s + M(i,j) FinPour Ecrire s Fin pour
Bonne chance
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
8
24 janv. 2008 à 22:32
24 janv. 2008 à 22:32
En lengage Pascal
Et merci
Et merci
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
24 janv. 2008 à 22:39
24 janv. 2008 à 22:39
Bonjour,
Sans présumer du langage on peut imaginer une séquence comme celle-ci :
DEBUT-ROUTINE
initialisation de ind-lignes = 0 (ou à = 1 suivant le langage ==> 1er élément adressable par 0 ou 1)
Faire TRAIT-LIGNES n-lignes fois (jusqu'à la dernière ligne voir**)
FIN-ROUTINE
TRAIT-LIGNES
initialisation de tot-ligne = 0
initialisation de ind-colonnes = 0 (ou = à 1 suivant le langage ==> 1er élément adressable par 0 ou 1)
Faire SOMME-ELEMTS-LIGNE m-colonnes fois (jusqu'au dernier élélment de la ligne voir** )
Affichage du total : tot-ligne de la ind-lignes eme ligne.
ind-lignes = ind-lignes + 1
FIN-TRAIT-LIGNES
SOMME-ELEMTS-LIGNE
tot-ligne = tot-ligne + elemt [ind-lignes] [ind-colonnes]
ind-colonnes = ind-colonnes + 1
FIN-SOMME-ELEMTS-LIGNE
** 1) Au chargement de la matrice il sera vraisemblablement nécessaire de "borner" chaque ligne avec une valeur particulière (valeur négative peut-être si on est certain que toutes les valeurs présentes dans la matrice sont toujours positives). De même la fin de la matrice sera "bornée" avec une valeur paticulière également par exemple - 32768).
**2) Où bien il faut, lors du chargement dre la matrice, conserver le nombre d'éléments de chaque ligne qui sera par convention le 1er de chacune des lignes. Ce 1er élément devra par conséquent être ignoré lors du calcul de la somme. Le nombre de lignes pourra être une variable numérique indépendante ou pourquoi pas être la valeur du 1er élément de la 1ère ligne de la matrice. Ligne qu'il faudra également ignorer.
La seconde solution semble préférable.
NB. les solutions (1 ou 2) ne sont pas détaillées dans le code précédent.
Sans présumer du langage on peut imaginer une séquence comme celle-ci :
DEBUT-ROUTINE
initialisation de ind-lignes = 0 (ou à = 1 suivant le langage ==> 1er élément adressable par 0 ou 1)
Faire TRAIT-LIGNES n-lignes fois (jusqu'à la dernière ligne voir**)
FIN-ROUTINE
TRAIT-LIGNES
initialisation de tot-ligne = 0
initialisation de ind-colonnes = 0 (ou = à 1 suivant le langage ==> 1er élément adressable par 0 ou 1)
Faire SOMME-ELEMTS-LIGNE m-colonnes fois (jusqu'au dernier élélment de la ligne voir** )
Affichage du total : tot-ligne de la ind-lignes eme ligne.
ind-lignes = ind-lignes + 1
FIN-TRAIT-LIGNES
SOMME-ELEMTS-LIGNE
tot-ligne = tot-ligne + elemt [ind-lignes] [ind-colonnes]
ind-colonnes = ind-colonnes + 1
FIN-SOMME-ELEMTS-LIGNE
** 1) Au chargement de la matrice il sera vraisemblablement nécessaire de "borner" chaque ligne avec une valeur particulière (valeur négative peut-être si on est certain que toutes les valeurs présentes dans la matrice sont toujours positives). De même la fin de la matrice sera "bornée" avec une valeur paticulière également par exemple - 32768).
**2) Où bien il faut, lors du chargement dre la matrice, conserver le nombre d'éléments de chaque ligne qui sera par convention le 1er de chacune des lignes. Ce 1er élément devra par conséquent être ignoré lors du calcul de la somme. Le nombre de lignes pourra être une variable numérique indépendante ou pourquoi pas être la valeur du 1er élément de la 1ère ligne de la matrice. Ligne qu'il faudra également ignorer.
La seconde solution semble préférable.
NB. les solutions (1 ou 2) ne sont pas détaillées dans le code précédent.
en fait l'algorithme donné par mamiemando te dit tout ce qu'il faut faire tout en sachant qu'une matrice est un tableau à deux entrées dont il te suffit de le definir en fixant le nombre de lignes et le nombre de colonnes, puis crées 2 procedures dont la premiere te permettra d'entrer si nécéssaires les valeurs de ton tableau une seconde qui te permettra d'afficher.Pour cela une bonne maitrise de la boucle for te suffit.je suis desolé je ne peux pas te l'écrire ca fait un bout moment que je n'ai pas du pascal.
bon courage te bonne chance
bon courage te bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
/**************************************************
**finalement j'ai décidé d'écrire le code en pascal j'espere que j'ai la bonne memoire et que j'ai pas fait qu'écrire des bétises.
voila bon courage bonne chance.s'il y a des erreurs j'espere aussi que tu peux les corriger.
program matrice(input,output);
var m,n:integer;
var matrix:array[1..m,1..n]of integer;
i,j,som,k,l:integer;
begin
write('nb lignes de la matrice ?');
readln(m);
write('nb colonnes de la matrice ?');
readln(l);
(* entrée des éléments de la matrice *)
for i:=1 to m do
for j:=1 to n do
begin
writeln('row',i,', column',j,'?');
readln(matrix[i,j])
end;
end;
(* calcul du produit *)
for k:=1 to m do
begin
som:=0;
for l:=1 to n do
som:=som + matrix[k,l];
end;
write(som);
end;
writeln();
end.
**finalement j'ai décidé d'écrire le code en pascal j'espere que j'ai la bonne memoire et que j'ai pas fait qu'écrire des bétises.
voila bon courage bonne chance.s'il y a des erreurs j'espere aussi que tu peux les corriger.
program matrice(input,output);
var m,n:integer;
var matrix:array[1..m,1..n]of integer;
i,j,som,k,l:integer;
begin
write('nb lignes de la matrice ?');
readln(m);
write('nb colonnes de la matrice ?');
readln(l);
(* entrée des éléments de la matrice *)
for i:=1 to m do
for j:=1 to n do
begin
writeln('row',i,', column',j,'?');
readln(matrix[i,j])
end;
end;
(* calcul du produit *)
for k:=1 to m do
begin
som:=0;
for l:=1 to n do
som:=som + matrix[k,l];
end;
write(som);
end;
writeln();
end.
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
8
25 janv. 2008 à 09:28
25 janv. 2008 à 09:28
je dit la somme de chaque ligne dans matrice et n'a de tout le matrice.
PeJo
Messages postés
1374
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
17 juin 2008
176
25 janv. 2008 à 09:36
25 janv. 2008 à 09:36
Bonjour,
C'est pas bien, il t'aide donc tu dois être un peu gentil (surtout qui te pond le code).
C'est marrant, mais dans mes souvenirs (très frais encore), je ne me souviens pas qu'un tableau à deux entrée s'appellait une matrice.
De même, l'addition se faisait entre deux matrices.
Toi tu veux juste faire des additions à la suite!!
Alors soit un peu gentil, ton problème n'est grave ni compliqué!!
C'est pas bien, il t'aide donc tu dois être un peu gentil (surtout qui te pond le code).
C'est marrant, mais dans mes souvenirs (très frais encore), je ne me souviens pas qu'un tableau à deux entrée s'appellait une matrice.
De même, l'addition se faisait entre deux matrices.
Toi tu veux juste faire des additions à la suite!!
Alors soit un peu gentil, ton problème n'est grave ni compliqué!!
mamiemando
Messages postés
33393
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
25 janv. 2008 à 09:54
25 janv. 2008 à 09:54
Sans vouloir être méchante avec le pseudo code que je t'ai donné, il te reste juste à faire une traduction directe. Autant dire que c'est pas super dur. Le but à mon avis c'est quand même que tu apprennes un peu à faire du pascal par toi même et pour ça, il n'y a pas de secret, il faut mettre les mains dedans. Accessoirement CCM n'a pas pour vocation de faire les exercices des étudiants, mais les débloquer oui.
A mon humble avis tu as tout ce qu'il te faut :
- le pseudo code dans <2> pour construire ton programme
- des exemples écrits (en pascal je suppose ?) pour voir les instructions utiles
Bref, à toi de jouer maintenant, et bon courage pour ton exercice ;-)
A mon humble avis tu as tout ce qu'il te faut :
- le pseudo code dans <2> pour construire ton programme
- des exemples écrits (en pascal je suppose ?) pour voir les instructions utiles
Bref, à toi de jouer maintenant, et bon courage pour ton exercice ;-)
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
8
25 janv. 2008 à 16:39
25 janv. 2008 à 16:39
merci ....
allez les autres j'attand votre reponse.. et des autres methodes.
allez les autres j'attand votre reponse.. et des autres methodes.
mamiemando
Messages postés
33393
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
25 janv. 2008 à 19:22
25 janv. 2008 à 19:22
Et plus vite que ça, je dois rendre mon exercice demain et j'ai envie de rien faire ce soir, il y a la star academy à la télé :-)
PeJo
Messages postés
1374
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
17 juin 2008
176
25 janv. 2008 à 19:28
25 janv. 2008 à 19:28
abir. --> carrefour au rayon cerveau c'est les soldes profites-en!!
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
8
25 janv. 2008 à 22:04
25 janv. 2008 à 22:04
allez svp j'ai besoin d'une resolution c'est urgence
merci d'avance
merci d'avance
PeJo
Messages postés
1374
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
17 juin 2008
176
26 janv. 2008 à 22:09
26 janv. 2008 à 22:09
Fallait le demander autrement.
On te donne toutes les billes et toi tu gueulle.
On te donne toutes les billes et toi tu gueulle.
abir.1
Messages postés
21
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
9 février 2008
8
26 janv. 2008 à 22:53
26 janv. 2008 à 22:53
merci a tous j'ai deja connu la solution:
program matrice;
uses wincrt;
type
mat=array[1..10,1..10] of integer;
var
i,j,l,c,s:integer;
t:mat;
begin
writeln ('donner l');
readln (l);
writeln ('donner c');
readln (c);
for i:=1 to l do
for j:=1 to c do
begin
write ('t[',i,',',j,']=');
readln (t[i,j]);
end;
for i:=1 to l do
begin
s:=0;
begin
for j:=1 to c do
s:=s+t[i,j];
end;
writeln (s);
end;
end.
program matrice;
uses wincrt;
type
mat=array[1..10,1..10] of integer;
var
i,j,l,c,s:integer;
t:mat;
begin
writeln ('donner l');
readln (l);
writeln ('donner c');
readln (c);
for i:=1 to l do
for j:=1 to c do
begin
write ('t[',i,',',j,']=');
readln (t[i,j]);
end;
for i:=1 to l do
begin
s:=0;
begin
for j:=1 to c do
s:=s+t[i,j];
end;
writeln (s);
end;
end.