Lab5.docx 0
Lab5.docx 0
al Republicii Moldova
RAPORT
despre lucrarea de laborator Nr. 5
la Structuri de Date si Algoritmi
A îndeplinit:
Chişinău – 2020
Mersul lucrării:
Ex 1
Codul:
#include <stdio.h>
#include <string.h>
int main(){
FILE *fg;
int a;
char c;
printf("Introdu cate linii de text vor fi scrise: ");
scanf("%d", &a);
fisier1(fg, a);
fisier2();
stergere();
fisier3();
return 0;
}
int fisier2(){
FILE *f;
FILE *f2;
char ch;
int nr=0;
f = fopen("1.txt", "r");
f2 = fopen("2.txt", "w");
int frecv = 0;
while((ch = fgetc(f)) != EOF){
if(ch == '\n'){
nr++;
}
}
fprintf(f2, "sunt %d linii de text", nr-1);
fclose(f);
fclose(f2);
return 0;
}
void stergere()
{
FILE *f1, *f2;
f1 = fopen("./1.txt", "r");
f2 = fopen("./2.txt", "a");
int i, j = 0, k = 0, count = 0;
char str[100], key[20];
fgets(str, 100, f1);
char str1[10][20];
for (i = 0; str[i]!= '\0'; i++)
{
if (str[i]==' ')
{
str1[k][j] = '\0';
k++;
j = 0;
}
else
{
str1[k][j] = str[i];
j++;
}
}
str1[k][j] = '\0';
printf("introdu cuvantul:");
scanf("%s", key);
for (i = 0;i < k + 1; i++)
{
if (strcmp(str1[i], key) == 0)
{
for (j = i; j < k + 1; j++)
strcpy(str1[j], str1[j + 1]);
k--;
}
}
for (i = 0;i < k + 1; i++)
{
fprintf(f2, "\n%s ", str1[i]);
}
fclose(f1);
fclose(f2);
}
int fisier3(){
char ch;
FILE *f1, *f2, *f3;
f1 = fopen("1.txt", "r");
f2 = fopen("2.txt", "r");
f3 = fopen("3.txt", "w");
while((ch = fgetc(f1)) != EOF){
fputc(ch,f3);
}
while((ch = fgetc(f2)) != EOF){
fputc(ch,f3);
}
fclose(f1);
fclose(f2);
fclose(f3);
return 0;
}
1.txt
2.txt
3.txt
Ex 2
Codul:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int func2();
int main()
{
char text[100];
printf("Introdu un string\n");
introdu(text);
func2();
return 0;
}
int func2() {
FILE *f, *f1;
char ch;
char *text;
int nr = 0;
int n = 0;
int i = 0;
f = fopen("./input.txt", "r");
f1 = fopen("./output.txt", "w");
text = (char*)malloc(100);
fgets(text, 100, f);
while(i<strlen(text)){
if(text[i] == ' ' && text[i+1] != ' '){
fprintf(f1, "\n");
nr++;
}else if(text[i] != ' '){
fputc(text[i], f1);
}
i++;
}
fprintf(f1, "\n%d cuvinte au fost scrise", nr+1);
free(text);
fclose(f);
fclose(f1);
}
input.txt
Output.txt