Corrigez moi un prog en C SVP

svp mes amis je ce programme ne veut pas se compiler il me parait juste mais li y a des erreurs que je n'arrive pas a les retrouver.
le programme est sur les matrices son but est de trouver les points-cols.

#include<stdio.h>
main()
{
int a[n][m];
int max[n][m];
int min[n][m];
int i,j,inf,sup;
printf("donnez le nombre des lignes\n");
scanf("%d",&n);
printf("donnez le nombre des colonnes\n");
scanf("%d",&m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i,j]);
}
}
for(i=1;i<=n;i++)
{
sup=a[i,1];
for(j=2;j<=m;j++)
{
if(sup<a[i,j])
sup=a[i,j];
}
for(j=1;j<=m;j++)
{
if(sup=a[i,j])
max[i,j]=sup;
else
max[i,j]=0;
}
for(j=1;j<=m;j++)
{
inf=a[1,j];
for(i=2;i<=n,i++)
{
if(inf>a[i,j])
inf==a[i,j];
}
for(i=1;i>=n)
{
if(inf==a[i,j])
min[i,j]=inf
else
min[i,j]=0;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(max[i,j]=min[i,j])
{
printf("le point-cols est\n"a[i,j]);
printf("le point-cols est sur la ligne %d\n",i);
printf("le point-cols est dans la colonne %d\n",j);
else
printf("cette matrice ne contient pas de point-cols");
}
}
}

4 réponses

  1. et c'est koi ces erreurs???
    il te met koi le compilateur???
    0
    1. c'est la premiére que je fais une programmatio des matrices.
      il m'ecrit que j'ai des erreurs dans les deux premiéres lignes quand je l'ai compiler dans le borlandes.
      et quand je l'ai compiler dans l'iux il me dit que j'ai des fautes dans la declarations des matrices(7 erreurs dans les premiére lignes) et je n'arrive pas a les corriger.
      0
    2. Modérateur
      int a[n][m];
      int max[n][m];
      int min[n][m];


      Tu ne peux pas déclarer un tableau en désignant le nombre de ses index avec des variables. Il faut impérativement utiliser des constantes.
      Exemple:

      int a[5][4]

      A moins d'utiliser des tableaux dynamiques....
      0
    3. @kilianj'ai essayer mais ça n'as pas marcher essayes le chez toi STP car je pense que le probléme est dans mon ordinateur
      0
    4. Modérateur
      @kilianMais le soucis c'est qu'il faut que tu prévoies un tableau plus grand que ce qui sera demandé.
      Puis pour le nombre de lignes et colonnes demandées, tu saisis ce que l'utilisateur rentre.

      Il faut que tu déclares n et m (qui sobnt utilisés avant d'êtres déclarés).
      Et il manque un point virgule là:

      min[i,j]=inf

      Il manque aussi des fermetures d'accolades j'ai l'impression.
      Utilise les balises code sur ce forum pour placer ton code, comme ça tu pourras y mettre des tabulations pour les blocs de if et for etc.... Ton code n'est pas indenté, et c'est difficile à lire comme ça.

      Prend aussi l'habitude de donner un type précis à tes fonctions et variables.
      La fonction main() est de type int. Il faut donc la décrire comme ça (en résumé. Je te passe les arguments de cette fonction, tu n'en as pas besoin ici):

      int main()
      {
                     //Patati patata
      }


      Pour le coup, elle devra retourner une valeur entière (généralement 0. Donc il suffit de mettre un
      return 0;
      à la fin du bloc de cette fonction.)
      0
    5. Modérateur
      @kiliancar je pense que le probléme est dans mon ordinateur

      C'est ce qu'on dit tous quand on apprend le C ;-)
      0
  2. a mon avis il te manque les bibliotheques: #include<iostream.h>
    0
    1. Modérateur
      Salut,

      Pas besoin, mia utilise printf et scanf qui sont des fonctions de la bibliothèque standard stdio.h
      iostream c'est pour le C++ quand on utilise la classe std avec cout et cin par exemple.
      0
    2. @kilianj'ai tout essayé et voici les modifications que j'ai fait sur le pogramme mais........
      merci d'avance

      #include<stdio.h>
      main()
      {
      int a[100][100];
      int max[100][100];
      int min[100][100];
      int i,j,inf,sup;
      printf("donnez le nombre des lignes\n");
      scanf("%d",&n);
      printf("donnez le nombre des colonnes\n");
      scanf("%d",&m);
      for(i=0,i<=n;i++)
      {
      for(j=0,j<=m;j++)
      {
      scanf("%d",&a[i][j]);
      }
      }
      for(i=0,i<=n;i++)
      {
      sup=a[i][1];
      for(j=1,j<=m;j++)
      {
      if(sup<a[i][j])
      sup=a[i][j];
      }
      for(j=0,j<=m;j++)
      {
      if(sup=a[i][j])
      max[i][j]=sup;
      else
      max[i][j]=0;
      }
      for(j=0,j<=m;j++)
      {
      inf=a[0][j];
      for(i=1,i<=n;i++)
      {
      if(inf>a[i][j])
      inf=a[i][j];
      }
      for(i=0,i>=n;i++)
      {
      if(inf=a[i,j])
      min[i][j]=inf
      else
      min[i][j]=0;
      }
      for(i=0,i<=n;i++)
      {
      for(j=0,j<=m;j++)
      {
      if(max[i][j]=min[i,j])
      {
      printf("le point-cols est\n",a[i,j]);
      printf("le point-cols est sur la ligne %d\n",i);
      printf("le point-cols est dans la colonne %d\n",j);
      else
      printf("cette matrice ne contient pas de point-cols");
      }
      }
      }

      meci kilian
      0
    3. @kilian#include<stdio.h>
      main()
      {
      int a[100][100];
      int max[100][100];
      int min[100][100];
      int i,j,inf,sup;
      printf("donnez le nombre des lignes\n");
      scanf("%d",&n);
      printf("donnez le nombre des colonnes\n");
      scanf("%d",&m);
      for(i=0,i<=n;i++)
      {
      for(j=0,j<=m;j++)
      {
      scanf("%d",&a[i][j]);
      }
      }
      for(i=0,i<=n;i++)
      {
      sup=a[i][1];
      for(j=1,j<=m;j++)
      {
      if(sup<a[i][j])
      sup=a[i][j];
      }
      for(j=0,j<=m;j++)
      {
      if(sup=a[i][j])
      max[i][j]=sup;
      else
      max[i][j]=0;
      }
      for(j=0,j<=m;j++)
      {
      inf=a[0][j];
      for(i=1,i<=n;i++)
      {
      if(inf>a[i][j])
      inf=a[i][j];
      }
      for(i=0,i>=n;i++)
      {
      if(inf=a[i,j])
      min[i][j]=inf
      else
      min[i][j]=0;
      }
      for(i=0,i<=n;i++)
      {
      for(j=0,j<=m;j++)
      {
      if(max[i][j]=min[i,j])
      {
      printf("le point-cols est\n",a[i,j]);
      printf("le point-cols est sur la ligne %d\n",i);
      printf("le point-cols est dans la colonne %d\n",j);
      else
      printf("cette matrice ne contient pas de point-cols");
      }
      }
      }

      0
    4. Modérateur
      @kiliann et m ne sont toujours pas déclarés avant d'être utilisés.
      Il faut mettre ceci au début:
      int n,m;

      Tu n'as pas mis d'espaces entre include et <stdio.h>
      Et il ya des erreurs de syntaxe par ci par là. Pense à lire les messages de ton compilateur.

      Et pense à encadrer ton code avec les balise code sur ce forum pour que ça soit lisible.
      0
  3. merci beaucoup beaucoup....... les amis je suis reconnaissante.
    j'ai trouver mes erreurs
    @ + + + + + + + +
    0