Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Chisinău 2022
Scopul lucrării
Scopul lucrării este de a familiariza studentul cu procesarea și utilizarea șirurilor de
caractere, utilizînd limbajul C.
6. Scrieți un program C pentru a converti dintr-un șir, literele majuscule în litere mici.
8.Scrieți un program C pentru a găsi numărul total de litere, cifre sau caractere speciale
dintr-un șir.
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void function(char*str1);
int main()
int problem;
scanf("%d",&problem);
switch(problem)
case 1:
char str[maxSize];
break;
case 2:
char str1[maxSize];
char str2[maxSize];
scanf("%s ",&str1);
strcpy(str2,str1);
return 0;
break;
char str1[maxSize];
char str2[maxSize];
int x;
scanf("%s ",str1);
scanf("%s ",str2);
str_comparare(str1,str2);
break;
case 4:
char str[maxSize];
scanf("%s ",str);
break;
//6-Scrieți un program C pentru a converti dintr-un șir, literele majuscule în litere mici.
case 5:
char str[maxSize];
scanf("%s ",str);
break;
//9-Scrieți un program C pentru a număra numărul total de vocale dintr-un șir.
case 6:
char str[maxSize];
scanf("%s ",str);
break;
//13-Scrieți un program C pentru a verifica dacă un șir este palindrom sau nu.
case 7:
char str[maxSize];
scanf("%s",str);
polindrom(str);
break;
case 8:
char str[maxSize];
scanf("%s",str);
break;
case 9:
char str1[maxSize];
char str2[maxSize];
scanf("%s",str1);
scanf("%s",str2);
concatinare(str1,str2);
break;
case 10:{
char str[maxSize];
scanf("%s",str);
function(str);
break;
default:
return 0;
return 0;
int x;
if(x==0)
x=strcmp(str1,str2);
else
printf("\nsirurile nu sunt la fel");
int i=0;
return str;
int i=0;
return str;
int i=0;
int vowels=0;
for(i=0;str[i]; i++)
if (str[i] == 'a' || str[i] == 'A' || str[i] == 'e' || str[i] == 'E' || str[i] == 'i' || str[i] == 'I' || str[i] =='o' ||
str[i]=='O' || str[i] == 'u' || str[i] == 'U')
vowels++;
return vowels;
int i,n,flag=0;
n=strlen(str);
for(i=0;i<n/2;i++)
if(str[i]==str[n-i-1])
flag++;
if(flag==i)
else
return flag;
int j = strlen(str2);
str1[i + j] = str2[i];
str1[i + j] = '\0';
return str1;
void function(char*str){
int i,leters=0,numbers=0,specialcharacters=0;
for(i=0;str[i];i++)
leters++;
numbers++;
else
specialcharacters++;
}
Concluzii:
Un șir de caractere este o succesiune de caractere terminate cu caracterul NULL
.Caracterul NULL este caracterul care are codul ASCII 0.În limbajuș C nu exista un tip special
pentru șirurile de caractere,acestea pot fi implementate ca vectori de caractere.
La fel, putem initializa o variabila care constituie un sir de caractere chiar de la
declarare, cu o constantă șir(în acest caz, lungimea șirului poate lipsi, fiind determinată automat).
Un șir de caractere poate fi citit cu ajutorul funcției de citire scanf(),, utilizând specificatorul de
format%s.Vor fi citite caracterele care incep cu primul caracter diferit de un caracter
alt(spațiu,tab sau newline) pâna la intâlnirea unui caracter alb. Dacă numărul de caractere citite
este mai mare decât lungimea declarată a șirului, vom obține eroare la execuția programului.Este
de remarcat faptul ca funcția scanf nu permire citirea șirurilor de caractere ce conțin caractere
albe. Pentru a citi șiruri de caractere care conțin spații sau caractere tab se poate utiliza functia
gets(),declararea in fișierul antet stdio.h.
Lungimea unui sir de catactere poate fi determinat prin intermadiul functiei predefinite: strlen()
sau cu ajutorul functiilor.