Language C

Résolu/Fermé
sernoss Messages postés 31 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 10 juin 2012 - 11 juil. 2009 à 23:00
sernoss Messages postés 31 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 10 juin 2012 - 13 juil. 2009 à 16:27
Bonjour,
je veux lire dans un fichier.txt "tableau de valeur à une dimension " et écrire dans un autre fichier le tableau résultat .
Merci d'avance.
-------------------------------------------------------------

5 réponses

sernoss Messages postés 31 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 10 juin 2012 2
11 juil. 2009 à 23:42
Mon tableau résultat est d'une dimension
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
11 juil. 2009 à 23:57
Salut,
Tu te crées ton tableau.
Ensuite tu effectues une boucle for sur le nombre d'éléments du tableau et tu utilises scanf(fp,"%d",tab+i); pour insérer tes valeurs dans ton tableau.

Cdlt
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
12 juil. 2009 à 10:05
Salut,
C'est pas fscanf au lieu de scanf?
@+
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842 > chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010
12 juil. 2009 à 10:18
Ah la belle coquille ^^· Ca m'apprendra à faire en live.
Merci ;-))).
0
sernoss Messages postés 31 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 10 juin 2012 2
12 juil. 2009 à 00:08
ben voila tout d'abord mon programme de lecture dans un fichier qui lit pas correctement la liste des nombres réel que j'ai mis dans mon fichier nommé "sortie" qui comprend quartes valeurs (exp: 2 3 4 6) . Merci

#include <stdio.h>
#include <stdlib.h>

#define NB 4
#define F_SORTIE "sortie"

int main(void)
{
FILE *f_in, *f_out;
int *tab2;
int i;

/* lecture dans F_SORTIE */
if ((f_in = fopen(F_SORTIE, "r")) == NULL)
{
fprintf(stderr, "\nImpossible de lire dans le fichier %s\n",F_SORTIE);
return(EXIT_FAILURE);
}
fread(tab2, NB * sizeof(int), 1, f_in);
fclose(f_in);
for (i = 0 ; i < NB; i++)
printf("%d\t",tab2[i]);
printf("\n");
scanf("%d",i);
return 0;
}
0
the F Messages postés 150 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 22 mars 2011 13
12 juil. 2009 à 11:02
Bonjour :
il paraot des la prmiere lecture que dans cette section il y a l'erreure :
§§§§§§§§§§§§§§§§§§§§§§
return(EXIT_FAILURE);
}
fread(tab2, NB * sizeof(int), 1, f_in); (ici precisement )
fclose(f_in);
for (i = 0 ; i < NB; i++)
:::::::::::::::::::::::::::::::

Si tu ne la trouve pas tout seul dit le ,
NB : je vais tester ton prog sur compilateur pour le corriger !
0

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

Posez votre question
sernoss Messages postés 31 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 10 juin 2012 2
13 juil. 2009 à 16:27
Merci à tous , j'ai résolu mon probleme. voila ce que j'ai voulé faire pour ceux qui veulent travailler avec un fichier de données entiers.

// programme Filtre signale

/* Ce programme calcule le moyen (pas=nombre d'ittération) de "pas" valeurs d'un tableau de n dimension (fichier test)
et enregistre le resultat dans un fichier "resultat". Il suffit de changer la dimension des données "n" et le pas "pas"*/
// exemple: test.txt v=[1 2 3 4];===> resultat.txt x=[1.5 1.5 3.5 3.5]

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define n 30001 //dimension données
#define pas 100//pas d'échantillonage

main()
{
FILE* fichier = NULL;
int i,j,a;
float v[n] = {0}; // Tableau données

float som;
float x[4]; // tableau résultat

som=0;j=1;a=0;


//ouverture fichier de données et enregistrement dans v[i]
fichier = fopen("test.txt", "r");
if (fichier != NULL)
{
for (i=0; i<n; i++)
fscanf(fichier, "%f", &v[i]);
fclose(fichier);
}

//traitement de données (clacule moyen signale)
for(i=0;i<n+1;i++)
{
if (i<j*pas)
som=som+v[i];
else
{
for(a=i;a>=i-pas;a--)
x[a]=som/pas;//remplissage tableau resultat
som=0;
j++;i--;a++;
}
}

//ecriture dans le fichier resultat
fichier = fopen("resultat.txt", "w");
if (fichier != NULL)
{
// On l'écrit dans le fichier
for (a=0; a<n; a++)
fprintf(fichier,"%f \n ",x[a]);
fclose(fichier);
}

//affichage résultat
printf("Tableau resultat :\n");
for (a=0; a<n; a++)
printf("%f ", x[a]);
printf("\n");

getchar();

return 0;
}
0