sa se scrie următoarele funcţii în limbajul C, care primesc ca şi parametri un şir de caractere şi o listă ce conține numele unor persoane și realizează următoarele operații: a) adauga, inserează şirul în listă astfel încât lista să fie ordonată. b) cauta, caută şirul în lista indicată. c) sterge, verifică dacă şirul se găseşte în lista dată, iar în caz afirmativ elimină şirul din listă.
Se va demonstra folosirea acestora într-un program interactiv.
Răspunsuri la întrebare
Răspuns:
#include<conio.h>
#include<stdlib.h>
int adauga(char str[1000][1000], int len)
{
int j;
char a[100];
printf("\nIntrodu numele:");
gets(a);
for(j=0;j<strlen(a);j++){
str[len][j]=a[j];
}
}
int cauta(char str[1000][1000], int len)
{
char a[100];
printf("\nIntrodu numele:");
gets(a);
if(strstr(str, a)) printf("\nElementul exista.");
}
int sterge(char str[1000][1000], int len)
{
int j, i;
char a[100];
printf("\nIntrodu numele:");
gets(a);
for(i=0;i<len;i++){
for(j=0;j<strlen(a);j++){
if(str[i][j]==a[j]) str[len][j]=NULL;
}
}
}
int main () {
char str[1000][1000], s[1000], c[1000],d;
int i, j, n;
printf("\nIntrodu un numar:");
scanf("%d", &n );
printf("\nIntrodu lista:");
for(i=0;i<=n;i++){
if(i) printf("\nnumele numarul %d:", i);
gets(c);
strcpy(str[i],c);
}
printf("\nSirul inrodus :");
for(j=0;j<strlen(c);j++){
strcpy(s,str[j]);
printf("\n%s", s);
}
// while(i){
printf("\n1. Adauga \n2. Cauta\n3. Sterge ");
scanf("%c", d);
switch (d!=0){
case '1': {adauga(str, n);
break;
}
break;
case '2':{cauta(str, n);
break;}
case '3': {sterge(str, n);
break;
}
default:{printf("Numar gresit introdus.");
break;
}
// }
}
}
Explicație:Atat. Poti sa schimbi switch-ul ca sa nu se prinda profa noastra diana.