Subiect 2019
Subiect 2019
Subiect 2019
h>
#include <stdlib.h>
#include <string.h>
int i,j;
s[0]=(char *)malloc((100*10)*sizeof(char));
for(i=1;i<10;i++)
s[i]=s[0]+100*i;
i=-1;
do
{++i;
j=-1;
do{fscanf(f,"%c",&s[i][++j]);
}while(s[i][j]!='\n');
s[i][j]='\0';
}while(s[i][j-1]!='.');
*n=i+1;
fclose(f);
return s;
}
for(i=0;i<n;i++,printf("\n"))
{p=strtok(s[i]," ");
progresie=0;
while(p)
{help=0;
k=-1;
++progresie; //caracterele DE PE FIECARE LINIE CITITA sunt codificata pe rand
astfel:primul caracter in baza 8,al doilea
//in baza 10,al treilea in baza 16,al patrulea in baza 8,al
cincilea in baza 10 si tot asa
}
void encode()
{FILE *f=fopen("encode.in","rt");
char *s=(char *)malloc(100*sizeof(char));
int i=-1;
do{fscanf(f,"%c",&s[++i]);}while(s[i]!='\n');
s[i]='\0';
fclose(f);
int k=0,j;
for(j=0;j<strlen(s);j++)
{++k;
if((k-1)%3==0) printf("%o ",s[j]);
if((k-2)%3==0) printf("%u ",s[j]);
if((k-3)%3==0) printf("%x ",s[j]);
}
printf("\n");
}
void autor ()
{printf("\nProgramul a fost realizat de Ion POPESCU,grupa 3111\n");
}
int main()
{char optiune,**s;
unsigned n,i,*v;
do
{printf("Alege o optiune dintre cele de mai jos !\n\n");
printf("C-Citeste un text de mai multe randuri,terminat cu caracterul '.',text ce
contine %cnumere%c \n"
" separate prin spatiu sau TAB,caracterul final '.' fiind eliminat\n"
"A-Afiseaza textul citit\n"
"L-Calculeaza si afiseaza numarul de randuri din text\n"
"V-Afiseaza sirul citit,plasand dupa sfarsitul fiecarul cuvant (numar)
cate o virgula\n"
"N-Afiseaza numarul cuvintelor (numerelor) de pe fiecare rand continut in
text\n"
"D-Decodificarea mesajului primit, respectand conventia definita la
inceput\n"
"E-(Encode) va citi un text si-l va codifica,generand o insiruire de
coduri,conform conventiei\n"
"I-Afiseaza informatii despre autorul programului\n"
"T-Terminare program.\n",'"','"');
switch(optiune)
{case 'c':
case 'C':s=citire(&n);
break;
case 'a':
case 'A':afisare(s,n);
break;
case 'l':
case 'L':printf("\nNumar randuri = %u\n",n);
break;
case 'v':
case 'V':afisareV(s,n);
break;
case 'n':
case 'N':v=afisareN(s,n);
printf("\nNumar cuvinte: %u",v[0]); for(i=1;i<n;i++) printf(", %u",v[i]);
printf("\n");
break;
case 'd':
case 'D':printf("\nSirul decodificat:\n\n");
decodificare(s,n);
break;
case 'e':
case 'E':encode();
break;
case 'i':
case 'I':autor();
break;
case 't':
case 'T':printf("\nAi ales parasirea programului !\n");
break;
return 0;
}