Language C

Résolu
sernoss Messages postés 37 Statut Membre -  
sernoss Messages postés 37 Statut Membre -
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 37 Statut Membre 2
 
Mon tableau résultat est d'une dimension
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
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 980 Statut Membre 378
 
Salut,
C'est pas fscanf au lieu de scanf?
@+
0
fiddy Messages postés 11653 Statut Contributeur 1 847 > chuka Messages postés 980 Statut Membre
 
Ah la belle coquille ^^· Ca m'apprendra à faire en live.
Merci ;-))).
0
sernoss Messages postés 37 Statut Membre 2
 
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 162 Statut Membre 13
 
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 37 Statut Membre 2
 
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