Exercice en c

nabilfaouzi -  
mype Messages postés 2449 Statut Membre -
Bonjour, j'ai un exercice un +/- facile et que j'essaie de resoudre pdt une semaine.AIDEZ MOI SVP!!!
voici l'ennonce:
ecriver un programme qui affiche un tableau rectangulaire de nombres flottants comme ceci:
1.0 2.0 3.0 4.5 | 10.5 :/*la somme de la ligne 1
5.0 6.0 7.5 8.0 |26.5 :/*la somme de la ligne 2
9.0 10.2 11.3 12.0|42.5 :/*la somme de la ligne 3
--------------------------
15.0 18.2 21.8 24.5| 79.5/*som des lignes1.2.3 ou des colonnes 1.2.3.4
/*som colonne 1.2.3.4*/|
explication:

la derniere colonne est faite des somme des lignes, la derniere ligne des somme des colonnes, le nombre de ligne et le nombre de colonne du tableau (T)connus à l'avance.
au debut T est entièrement fait de zéros. ensuite, votre programme doit répéter indéfiniment les opérations suivantes:
*lecture de 3 nombre i,j (entier),x(flottant) . convention: i<0 indiquera la fin du programme
*remplacement de la valeur courante de T[i][j] par x et mise à jour des sommes correspondantes.

s'il vous plait je veux une reponse rapide car j'en ai besoin bcp je travaille ave Dev c++4.9.9.2

6 réponses

nabilfaouzi
 
je vous donne une resultat qu'il peut vs aidez
code:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define NL 3
#define NC 4
float t[NL + 1][NC + 1], x;
int i, j, k;
int main()
{ for (i = 0; i <= NL; i++)
for (j = 0; j <= NC; j++)
t[i][j] = 0;

for ( ; ; ) {
/* affichage du tableau */
for (i = 0; i < NL; i++) {
for (j = 0; j < NC; j++)
printf("%8.2f ", t[i][j]);
printf("|%8.2f\n", t[i][NC]);
}
for (j = 0; j < NC; j++)
printf("---------");
printf("+--------\n");
for (j = 0; j < NC; j++){
printf("%8.2f ", t[NL][j]);
printf("|%8.2f\n", t[NL][NC]);

/* lecture d'un coefficient */
for (i = 0; i < NL+1; i++) {
for (j = 0; j < NC+1; j++)
printf("\ni j x ? ");
scanf("%d", &i);
if (i < 0)
break;
scanf("%d%f", &j, &x);

/* mise à jour du tableau et des sommes */

t[i][NC] = t[i][NC] - t[i][j] + x;
t[NL][j] = t[NL][j] - t[i][j] + x;
t[NL][NC] = t[NL][NC] - t[i][j] + x;
t[i][j] = x;}
} }

printf("Au revoir...");

getch();

}


//---------------------------------------------------------------------------
0
mype Messages postés 2449 Statut Membre 437
 
tu avais quelques petite erreurs dans ton code je les ai corrigé si tu comprend pas des chose n'hesite pas a posé des questions ;)

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define NL 3
#define NC 4

int main()
{
    float t[NL + 1][NC + 1],x;
    int i, j;

    for (i = 0; i <= NL; i++)
        for (j = 0; j <= NC; j++)
            t[i][j] = 0;

/* affichage du tableau */
    for (i = 0; i < NL; i++){
        for (j = 0; j < NC; j++)
            printf("%8.2f ", t[i][j]);
            printf("|%8.2f\n", t[i][NC]);
        }
    for (j = 0; j < NC; j++)
        printf("---------");
        printf("+--------\n");
    for (j = 0; j < NC; j++)
        printf("%8.2f ", t[NL][j]);
        printf("|%8.2f\n", t[NL][NC]);

/* lecture d'un coefficient */
    for (i = 0; i < NL; i++)
        for (j = 0; j < NC; j++){
            printf("\nposition: %d %d x ? ",i,j);
            scanf("%f", &x);
            t[i][j]=x;
        }

/* mise à jour du tableau et des sommes */
    for(i=0;i<NL;i++)
        for(j=0;j<NC;j++){
            t[i][NC] += t[i][j] ;
            t[NL][j] +=  t[i][j] ;
            t[NL][NC] += t[NL-1][j];
            }
        printf("\n");
    for (i = 0; i < NL; i++){
        for (j = 0; j < NC; j++)
            printf("%8.2f ", t[i][j]);
            printf("|%8.2f\n", t[i][NC]);
        }
    for (j = 0; j < NC; j++)
        printf("---------");
        printf("+--------\n");
    for (j = 0; j < NC; j++)
        printf("%8.2f ", t[NL][j]);
        printf("|%8.2f\n", t[NL][NC]);
        printf("Au revoir...");

getch();
}
0
nabilfaouzi
 
slt mype votre program est très juste mais l'enonce ns exige que si ns donnons à i une valeur negatif le program affiche au revoir je vous demande de lire l'ennonce et de me repondre le plus tot possible.MERCI BIEN.
0
mype Messages postés 2449 Statut Membre 437
 
il faut juste demander a l'utilisateur de rentre les position tant que le tableau n'est pas rempli et voila ;)

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define NL 3
#define NC 4

int main()
{
    float t[NL + 1][NC + 1],x;
    int i, j, tab_rempli=0;

    for (i = 0; i <= NL; i++)
        for (j = 0; j <= NC; j++)
            t[i][j] = 0;

/* affichage du tableau */
    for (i = 0; i < NL; i++){
        for (j = 0; j < NC; j++)
            printf("%8.2f ", t[i][j]);
            printf("|%8.2f\n", t[i][NC]);
        }
    for (j = 0; j < NC; j++)
        printf("---------");
        printf("+--------\n");
    for (j = 0; j < NC; j++)
        printf("%8.2f ", t[NL][j]);
        printf("|%8.2f\n", t[NL][NC]);

/* lecture d'un coefficient */
    while(tab_rempli<12){
            printf("\n quel est la valeur de i, j, et x ? ");
            scanf("%d""%d""%f",&i,&j,&x);
            tab_rempli+=1;
            if(i<0){
                printf("Au revoir...\n");
                exit(-1);}
            t[i][j]=x;
        }

/* mise à jour du tableau et des sommes */
    for(i=0;i<NL;i++)
        for(j=0;j<NC;j++){
            t[i][NC] += t[i][j] ;
            t[NL][j] +=  t[i][j] ;
            t[NL][NC] += t[NL-1][j];
            }
        printf("\n");
    for (i = 0; i < NL; i++){
        for (j = 0; j < NC; j++)
            printf("%8.2f ", t[i][j]);
            printf("|%8.2f\n", t[i][NC]);
        }
    for (j = 0; j < NC; j++)
        printf("---------");
        printf("+--------\n");
    for (j = 0; j < NC; j++)
        printf("%8.2f ", t[NL][j]);
        printf("|%8.2f\n", t[NL][NC]);

getch();
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nabilfaouzi Messages postés 16 Statut Membre 1
 
dsl, ca marche pas mon gros
0
mype Messages postés 2449 Statut Membre 437
 
chez moi ça marche...

"i" n'est jamais negatif voici le resultat :

    0.00     0.00     0.00     0.00 |    0.00
    0.00     0.00     0.00     0.00 |    0.00
    0.00     0.00     0.00     0.00 |    0.00
------------------------------------+--------
    0.00     0.00     0.00     0.00 |    0.00

 quel est la valeur de i, j, et x ? 0 0 1

 quel est la valeur de i, j, et x ? 0 1 2

 quel est la valeur de i, j, et x ? 0 2 3

 quel est la valeur de i, j, et x ? 1 0 1

 quel est la valeur de i, j, et x ? 1 1 2

 quel est la valeur de i, j, et x ? 1 2 3

 quel est la valeur de i, j, et x ? 0 3 4

 quel est la valeur de i, j, et x ? 1 3 4

 quel est la valeur de i, j, et x ? 2 0 1

 quel est la valeur de i, j, et x ? 2 1 2

 quel est la valeur de i, j, et x ? 2 2 3

 quel est la valeur de i, j, et x ? 2 3 4

    1.00     2.00     3.00     4.00 |   10.00
    1.00     2.00     3.00     4.00 |   10.00
    1.00     2.00     3.00     4.00 |   10.00
------------------------------------+--------
    3.00     6.00     9.00    12.00 |   30.00

Process returned 13 (0xD)   execution time : 98.893 s
Press any key to continue.


si on a un "i" negatif :

    0.00     0.00     0.00     0.00 |    0.00
    0.00     0.00     0.00     0.00 |    0.00
    0.00     0.00     0.00     0.00 |    0.00
------------------------------------+--------
    0.00     0.00     0.00     0.00 |    0.00

 quel est la valeur de i, j, et x ? 0 1 2

 quel est la valeur de i, j, et x ? -1 2 3
Au revoir...

Process returned -1 (0xFFFFFFFF)   execution time : 16.163 s
Press any key to continue.
  
0