il s'avere que mon code ci dessous ne compile pas. pouvait vous svp m'aider a trouver les erreurs.
merci d'avance
#include <stdio.h>
#include <stdlib.h>
int main() {
int nrows;
int ncolumns;
double** A;
int i,j;
printf("Enter the number of rows: ");
scanf("%d", &nrows);
printf("Enter the number of columns: ");
scanf("%d", &ncolumns);
for (i = 0; i < nrows; i++)
{ A[i] = (double*)malloc(ncolumns * sizeof(double));
for (j = 0; j < ncolumns; j++) {
printf("Enter A[%s][%s] = ", i, j);
scanf("%lf", A[i][j]);
}
printf("n");
printf("Result = %.0fn",calc_func(A,nrows,ncolumns));
for (i = 0; i < nrows; i++) { free(A[i]);
}
return 0;
}
}
double calc_func(double **A, int nrows, int ncolumns)
{ int i;
double result=0;
for (i = 0; i < nrows; i++) {
Laurent , dans le message <513e2946$0$1861$, a écrit :
nan nan j'ai dit une connerie. Faut le mettre avant le main().
Oui.
Mais ça compile quand même après int i,j; ...
C'est néanmoins un très mauvais conseil.
Antoine Leca
yamo' écrivit :
aidann a tapoté, le 11/03/2013 10:37 dans fr.comp.os.linux.configuration :
bonjour Olivier, pourrait tu stp mindiquer ttes les erreurs que t'aperçois? cela me serait d'une grande aide. Merci d'avance
Si tu postais déjà dans le _bon_ groupe et sur un vrai serveur usenet ça aiderait <http://news.lacave.net/servers/reader/list>.
... et si tu citais (in extenso ou par référence) le message original, cela nous permettrait de faire des commentaires sans passer notre temps (chacun de notre côté) à pêcher...
Dans <msgid:, "aidann" écrivit : int main() { int nrows; int ncolumns; : double** A; int i,j; : printf("Enter the number of rows: "); scanf("%d", &nrows); : printf("Enter the number of columns: "); scanf("%d", &ncolumns); : for (i = 0; i < nrows; i++) : { A[i] = (double*)malloc(ncolumns * sizeof(double));
Où comme l'as déjà expliqué Olivier, A n'est jamais alloué.
Antoine
yamo' écrivit :
aidann a tapoté, le 11/03/2013 10:37 dans fr.comp.os.linux.configuration :
bonjour Olivier,
pourrait tu stp mindiquer ttes les erreurs que t'aperçois? cela me serait d'une
grande aide. Merci d'avance
Si tu postais déjà dans le _bon_ groupe et sur un vrai serveur usenet ça
aiderait <http://news.lacave.net/servers/reader/list>.
... et si tu citais (in extenso ou par référence) le message original,
cela nous permettrait de faire des commentaires sans passer notre temps
(chacun de notre côté) à pêcher...
Dans <msgid:t6WdneCxkqBDOKDM4p2dnAA@giganews.com>, "aidann" écrivit
: int main() { int nrows; int ncolumns;
: double** A; int i,j;
: printf("Enter the number of rows: "); scanf("%d", &nrows);
: printf("Enter the number of columns: "); scanf("%d", &ncolumns);
: for (i = 0; i < nrows; i++)
: { A[i] = (double*)malloc(ncolumns * sizeof(double));
Où comme l'as déjà expliqué Olivier, A n'est jamais alloué.
aidann a tapoté, le 11/03/2013 10:37 dans fr.comp.os.linux.configuration :
bonjour Olivier, pourrait tu stp mindiquer ttes les erreurs que t'aperçois? cela me serait d'une grande aide. Merci d'avance
Si tu postais déjà dans le _bon_ groupe et sur un vrai serveur usenet ça aiderait <http://news.lacave.net/servers/reader/list>.
... et si tu citais (in extenso ou par référence) le message original, cela nous permettrait de faire des commentaires sans passer notre temps (chacun de notre côté) à pêcher...
Dans <msgid:, "aidann" écrivit : int main() { int nrows; int ncolumns; : double** A; int i,j; : printf("Enter the number of rows: "); scanf("%d", &nrows); : printf("Enter the number of columns: "); scanf("%d", &ncolumns); : for (i = 0; i < nrows; i++) : { A[i] = (double*)malloc(ncolumns * sizeof(double));
Où comme l'as déjà expliqué Olivier, A n'est jamais alloué.
Antoine
Antoine Leca
Tonton Th écrivit :
On 03/11/2013 11:32 AM, Jerome Lambert a dit:
Cela dit, ça fera une erreur d'exécution mais pas une erreur de compilation, or on ne sait toujours pas ce que t'a indiqué le compilateur.
Chez moi ça compile (c)(tm)...
(Avec plein de warnings, mais ça compile)
Mauvais compilateur, changer compilateur.
Si cela « compile avec plein de warnings, _mais_ ça compile », ÀMHA ce n'est peut-être pas le compilateur qu'il faut changer...
Maintenant effectivement, ce qui suit ne devrait pas compiler, 6.5.2.2p9 et surtout le fait qu'en général une fonction de type flottant n'a pas l'interface habituelle pour la valeur retournée.
Cela dit, ça fera une erreur d'exécution mais pas une erreur de
compilation, or on ne sait toujours pas ce que t'a indiqué le
compilateur.
Chez moi ça compile (c)(tm)...
(Avec plein de warnings, mais ça compile)
Mauvais compilateur, changer compilateur.
Si cela « compile avec plein de warnings, _mais_ ça compile »,
ÀMHA ce n'est peut-être pas le compilateur qu'il faut changer...
Maintenant effectivement, ce qui suit ne devrait pas compiler, 6.5.2.2p9
et surtout le fait qu'en général une fonction de type flottant n'a pas
l'interface habituelle pour la valeur retournée.
Cela dit, ça fera une erreur d'exécution mais pas une erreur de compilation, or on ne sait toujours pas ce que t'a indiqué le compilateur.
Chez moi ça compile (c)(tm)...
(Avec plein de warnings, mais ça compile)
Mauvais compilateur, changer compilateur.
Si cela « compile avec plein de warnings, _mais_ ça compile », ÀMHA ce n'est peut-être pas le compilateur qu'il faut changer...
Maintenant effectivement, ce qui suit ne devrait pas compiler, 6.5.2.2p9 et surtout le fait qu'en général une fonction de type flottant n'a pas l'interface habituelle pour la valeur retournée.
Le lundi 11 Mars 2013 à 01:10 par Olivier Miakinen :
Bonjour,
Le 10/03/2013 23:04, aidann a écrit :
il s'avere que mon code ci dessous ne compile pas. pouvait vous svp m'aider a trouver les erreurs.
Il s'avère que tu t'es trompée de groupe pour poser la question. Essaye fr.comp.lang.c plutôt que fr.comp.os.linux.configuration.
Cela dit, si ton code ne compile pas, le compilateur devrait avoir la gentillesse de t'indiquer ce qui ne lui plaît pas et à quel endroit ça se trouve.
Tiens, je te donne l'un des endroits, sans te dire ce qui ne va pas (enfin, avec tout ce qu'il faut pour le voir quand même) :
int i,j; [...] printf("Enter A[%s][%s] = ", i, j);
Cordialement, -- Olivier Miakinen
Spécial offre de prêt entre particulier Particuliers sérieux qui ont besoin pour les petites entreprises, investissements personnels
pour seulement 5% à 25 % d'intérêt selon le montant demander. Nous faisons des prêts locaux et des prêts internationaux à des
personnes partout dans le monde. Contactez-nous dès aujourd'hui et faites-nous connaître le montant d'argent que vous voulez
prêter. Nous sommes prêts à satisfaire nos clients dans les 72 heures suivant la réception de votre demande formulée. Si vous
êtes intéressés veillez bien nous contactez :
Le lundi 11 Mars 2013 à 01:10 par Olivier Miakinen :
Bonjour,
Le 10/03/2013 23:04, aidann a écrit :
il s'avere que mon code ci dessous ne compile pas. pouvait vous svp m'aider a
trouver les erreurs.
Il s'avère que tu t'es trompée de groupe pour poser la question.
Essaye fr.comp.lang.c plutôt que fr.comp.os.linux.configuration.
Cela dit, si ton code ne compile pas, le compilateur devrait avoir la
gentillesse de t'indiquer ce qui ne lui plaît pas et à quel
endroit ça
se trouve.
Tiens, je te donne l'un des endroits, sans te dire ce qui ne va pas
(enfin, avec tout ce qu'il faut pour le voir quand même) :
int i,j;
[...]
printf("Enter A[%s][%s] = ", i, j);
Cordialement,
--
Olivier Miakinen
Spécial offre de prêt entre particulier Particuliers sérieux qui ont besoin pour les petites entreprises, investissements personnels
pour seulement 5% à 25 % d'intérêt selon le montant demander. Nous faisons des prêts locaux et des prêts internationaux à des
personnes partout dans le monde. Contactez-nous dès aujourd'hui et faites-nous connaître le montant d'argent que vous voulez
prêter. Nous sommes prêts à satisfaire nos clients dans les 72 heures suivant la réception de votre demande formulée. Si vous
Le lundi 11 Mars 2013 à 01:10 par Olivier Miakinen :
Bonjour,
Le 10/03/2013 23:04, aidann a écrit :
il s'avere que mon code ci dessous ne compile pas. pouvait vous svp m'aider a trouver les erreurs.
Il s'avère que tu t'es trompée de groupe pour poser la question. Essaye fr.comp.lang.c plutôt que fr.comp.os.linux.configuration.
Cela dit, si ton code ne compile pas, le compilateur devrait avoir la gentillesse de t'indiquer ce qui ne lui plaît pas et à quel endroit ça se trouve.
Tiens, je te donne l'un des endroits, sans te dire ce qui ne va pas (enfin, avec tout ce qu'il faut pour le voir quand même) :
int i,j; [...] printf("Enter A[%s][%s] = ", i, j);
Cordialement, -- Olivier Miakinen
Spécial offre de prêt entre particulier Particuliers sérieux qui ont besoin pour les petites entreprises, investissements personnels
pour seulement 5% à 25 % d'intérêt selon le montant demander. Nous faisons des prêts locaux et des prêts internationaux à des
personnes partout dans le monde. Contactez-nous dès aujourd'hui et faites-nous connaître le montant d'argent que vous voulez
prêter. Nous sommes prêts à satisfaire nos clients dans les 72 heures suivant la réception de votre demande formulée. Si vous