Documente Academic
Documente Profesional
Documente Cultură
Moldova
RAPORT
Chişinău – 20XX
/*
Pr0301
1.Program care citeste din fisier 3 propozitii si le afiseaza in ordinea inversa, apoi
le salveaza în alt fisier.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *pf; // fisierul initial cu propozitii
FILE *fr; // fisierul rezultat cu propozitiile inversate
char *nf; // numele fisierului initial
char *rf; // numele fisierului rezultat
char *pr; // o propozitie din fisierul initial
char *rp; // o propozitie din fisierul rezultat
int i;
fclose(pf); fclose(fr);
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////
////////////////////////
/* pr0302
2. Sa se scrie un program care creaza un fisier numbers.txt pe discul D, in care
inscrie 5 numere intregi, introduse de la tastatura. Fiecare se scrie pe linie
separata, apoi se afiseaza la ecran.
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *pf; int x, i, n = 5;
char nf[30] = "F:\\numbers.txt";
pf = fopen(nf, "w");
printf("Introdu %d numere\n", n);
for(i = 0; i < n; i++)
{
printf("Da numarul %d:", i);
scanf("%d", &x);
fprintf(pf, "%d\n", x);
}
fclose(pf);
printf("Ai introdus in fisier numerele:\n");
pf = fopen(nf, "r");
for(i = 0; i < n; i++)
{
fscanf(pf, "%d", &x);
printf("%d\n", x);
}
fclose(pf);
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////
////////////////////////
/* pr0303
3. Sa se scrie un program care creaza un fisier cu 10 elemente de tip intreg.
Citeste din fisier si calculeaza suma acestor elemente, apoi le afiseaza la ecran si
le salveaza în alt fisier.
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *pf, *fp; int i, n = 10, x, s = 0;
char nf[30] = "0303.txt";
pf = fopen(nf, "w"); // deschidem fisierul cu numele nf pentru scriere
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////
////////////////////////
/* pr0305
5. Intr-un fisier "cod.dat" este memorata o tabela de codificare, sub forma:
car_de_codif ' ' car_codif '\0'.
Sa se preia un text din fisierul "dat1.dat", sa se codifice conform codului, iar
textul obtinut sa se scrie in fisierul "dat2.txt".
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *pf; // fisierul cu tabela de codificare
FILE *tf; // fisierul cu textul care trebuie codificat
FILE *fc; // fisierul cu textul codificat (adica rezultatul)
char c[4]; // sirul de caractere pentru o linie din tabela de codificare
char text[10][30]; // textul care trebuie codificat (nu mai mult de 10 linii;
fiecare linie nu mai mult de 30 caractere)
char tc[60][4]; // tabela de codificare (nu mai mult de 53 linii; fiecare liniee
din 3 caractere si santinela)
char textc[10][30]; // textul codificat (nu mai mult de 10 linii; fiecare linie
nu mai mult de 30 caractere)
char c1; int i, j; int q; char p; int r;
i = 0;
tf = fopen("cod1.dat", "r"); // deschidem fisierul cod1.dat pentru a citi
textul de codificat
while( feof(tf) == 0 )
{
fgets(text[i], 30, tf); // text[i] - linia i din textul care trebuie codificat
i++;
}
fclose(tf);
i = 0;
pf = fopen("cod.dat", "r"); // deschidem fisierul cod.dat pentru a citi tabela
de codificare
while( feof(pf) == 0 ) // codificam textul si il inscriem in fisierul dat2.txt
{
fgets(tc[i], 5, pf); // text[i] - linia i din textul care trebuie codificat; cu
5 merge; cu 4 nu merge
i++;
}
fclose(pf);
if( p >= 'A' && p <= 'Z' ) { r = p - 'A'+ 26; textc[i][j] = tc[r][2]; }
if( p < 'A' || p > 'Z' && p < 'a' || p > 'z' ) { textc[i][j] = p; }
}
}
fclose(fc);
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////
////////////////////////
/* pr0323
23. Se da un fisier care contine pe fiecare rand un nume (un cuvint) urmat de 5
note. Se cere sa se construiasca un al doilea fisier
care contine numele urmat de medie, ordonat descrescator dupa medie. Daca
un nume apare pe mai multe linii in fisierul original,
liniile respective vor fi scrise intr-un fisier cu numele 'eronat', si pentru
acestea nu se va calcula media.
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *pf; // pointer la fixierul initial cu note
FILE *rf; // pointer la fisierul rezultat cu mediele
FILE *er; // pointer la fisierul cu numele 'eronat'
int note[25][5]; char nume[25][25]; int fr[25];
// note - notele din borderou (cel mul 25 lini)
// nume - toate numele din borderou (lungimea numelui - cel mult 25
caractere)
// fr - frecventa numelor din borderou
double m[25]; char n[25];
// m - mediile notelor
// n - pentru un nume din borderou
int i, j, p, k, n1, n2, n3, n4, n5;
// n1, n2, n3, n4, n5 - pentru notele de pe o linie
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////
////////////////////////