web viewmai multe ori.nu se face diferenta intre literele mari si mici,iar alte
TRANSCRIPT
Pc71.c
#include <stdio.h>#include <stdlib.h>
int main() { char text_1[100], text_2[100], text_3[100]; char *ta, *tb; int i; char text_o[] = "Qwerty";
system("cls");
printf("Textul original: %s\n", text_o); i=0; while ( (text_1[i]=text_o[i]) != '\0' ) i++; printf("Text copiat caracter cu caracter: %s\n", text_1);
ta=text_o; tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' ) ; printf("Text copiat folosind solutia cu pointeri: %s\n", text_2);
getch(); return 0;}
Pc72.c
#include <stdio.h>#include <stdlib.h>
int main() {
const lungime = 79; char linie[lungime];
scanf("%s",linie); return 0;}
/*asa da*
#define MAX 7
int main() { char linie[MAX]; scanf("%s",linie); printf("%c",linie[0]); getch(); return 0;}*/
/*atribuire - discutie */
/*#define MAX 7
int main() { char linie[MAX]; /*char linie[MAX]="baubau"; initializare*/
/* clrscr(); linie="baubau"; printf("%s",linie); return 0;}
*/
Pc73.c
#include <stdio.h>#include <stdlib.h>
int main() { int g; char s1[10]="aaab"; char s2[10]="aab"; char persoana[30]=""; char *p="Ion"; char *n="Ionescu"; char *b=" ";
system("cls"); if ("aaab" <= "aab") printf ("adevarat\n"); else printf("fals\n"); g=strcmp(s1,s2); if (g<0) printf("s1 e mai mic decit s2"); else if (g==0) printf ("s1 egal s2"); else printf("s1 mai mare decit s2"); putchar('\n'); printf ("Lungimea sirului este %d\n",strlen(s1)); strcat(persoana,p); strcat(persoana,b); strcat(persoana,n); printf("%s\n",persoana);
getch(); return 0;}
Pc74.c
/* Se citeste un text si apoi se inlocuiesc toate aparitiile unui sir de caractere 'sir1' cu un alt sir de caractere 'sir2', citite inainte de a introduce textul.Textul se termina cu eoln. (ctrl + Z) Se face atentionarea ca 'sir1' nu trebuie sa fie inclus in 'sir2', aceasta ducand la cicluri infinite*/
#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <string.h>
int main() { char linie[256],*ln,*ln1,*ln2,sir1[30],sir2[30]; int pozitie,l;
ln=(char*) malloc(sizeof(char)); ln1=(char*) malloc(sizeof(char)); ln2=(char*) malloc(sizeof(char));
system("cls"); printf("Sirul sir1 este: "); fgets(sir1,30,stdin); /*gets(sir1)*/ l=strlen(sir1)-1; sir1[l]=0; /* sir1[strlen(sir1)-1]=0; */ printf("Sirul sir2 este: "); fgets(sir2,30,stdin); sir2[strlen(sir2)-1]=0;
printf("Textul este: "); do { fgets(linie,256,stdin); linie[strlen(linie)-1]=0;
ln1=&sir1[1]; ln2=linie;
pozitie=strstr(linie,sir1)-ln2; while(pozitie >= 0) {
strncpy(ln1,ln2,pozitie);ln1[pozitie]='\0';strcat(ln1,sir2);ln=ln2+(pozitie+l);ln1=strcat(ln1,ln);strcpy(ln2,ln1);pozitie=strstr(ln1,sir1)-ln1;
} printf("%s\n",ln2); } while (strlen(linie)>256); getch(); return 0;}/* adaugati comentarii pertinente */
Pc75.c
/* Se citeste caracter cu caracter un text introdus de la tastaturacare se termina cu '#'. Se vor afisatoate literele care apar o singura data in text si separat cele care apar demai multe ori.Nu se face diferenta intre literele mari si mici,iar altecaractere in afara de literele mari si mici si '#' se neglijeaza*/
#include <stdio.h>#include <string.h>#include <conio.h>
int main() { char c; char cunu[28],cvar[28]; int i;
system("cls"); for(i=0;i<28;i++) { cunu[i]=0; cvar[i]=0; } printf("Textul este (se termina cu caracterul '#'): "); while((c=getchar()) != '#') { if((c >= 'a') && (c <= 'z')) c += ('A'-'a'); if((c >= 'A') && (c <= 'Z')) { if(cunu[c-'A'] && !cvar[c-'A']) {
cvar[c-'A']=1; cunu[c-'A']=0;
} else
if(!cunu[c-'A'] && !cvar[c-'A']) cunu[c-'A']=1;
} } printf("Literele care apar o singura data sunt: "); for(i=0;i<28;i++) if(cunu[i]) printf("%c ",'A'+i); putchar('\n'); printf("Literele care apar de mai multe ori sunt : "); for(i=0;i<28;i++) if(cvar[i]) printf("%c ",'A'+i); putchar('\n'); getch(); return 0;}
Pc76.c
#include <stdio.h>#include <conio.h>#include <string.h>
int main() { char linie[100], *sub_text;
system("cls");
strcpy(linie,"Text pentru testare operatii cu siruri;"); printf("Linia: %s\n\n", linie);
/* concatenare la sfirsitul sirului */ strcat(linie," operatii de copiere si concatenare."); printf("Linie: %s\n\n", linie);
/* lungimea sirului */ printf("Lungimea liniei: %d\n\n", (int)strlen(linie));
/* cautare subsiruri */ if ( (sub_text = strchr (linie, 'T') ) != NULL )
printf("Sirul care incepe cu \"T\" -> %s\n\n", sub_text);
if ( ( sub_text = strchr ( linie, 'o' ) )!= NULL ) printf("Sirul care incepe cu \"o\" -> %s\n\n", sub_text);
if ( ( sub_text = strchr ( linie, 'c' ) )!= NULL )printf("Sirul care incepe cu \"c\" -> %s\n\n", sub_text);
printf("Caracterul \"c\" apare in pozitia: %d\n\n", sub_text-linie); getch(); return 0;}
Pc77.c
#include <string.h>#include <stdio.h>#include <stdlib.h>
int main() { char dest[25]; char *blank =" ", *cuv1 = "Andrei", *cuv2 = "Sfantul";
system("cls"); strcpy(dest, cuv2); strcat(dest, blank); strcat(dest, cuv1);
printf("%s\n", dest); getch(); return 0;}
Pc78.c
/* Se citeste de la tastatura un sir format din cuvinte. Se afiseazaapoi in ordine alfabetica toate cuvintele din sir care incep cu oanumita litera precizata de utilizator */
#include <stdio.h>#include <stdlib.h>#include <string.h>
typedef char cuvant[20];
typedef cuvant sir[100];
int Citcuv(sir s) { int k,i;
printf("Numarul de cuvinte: "); scanf("%d",&k); for (i=0;i<k;i++) scanf("%s",s[i]); return k;}
void Ordalf(int m, sir s) { int i,ordonat; cuvant aux; ordonat=0;
while(!ordonat) { ordonat=1; for(i=0;i<=m-2;i++) if ( (strcmp(s[i],s[i+1])) > 0){
strcpy(aux,s[i]);strcpy(s[i],s[i+1]);strcpy(s[i+1],aux); ordonat=0;
} }}
int main() {
sir cuvsir; int n,j,i; char litera;
system("cls"); j=0; n=Citcuv(cuvsir); Ordalf(n,cuvsir); getchar(); printf("Litera cu care incepe cuvantul este ");scanf("%c",&litera); for (i=0;i<n;i++) if (cuvsir[i][0]==litera) { j++; printf("%s\n",cuvsir[i]); } printf("Sunt %d cuvinte care incep cu litera %c",j,litera); getch(); return 0;}/* Scrieti programul folosind pointeri.Gasiti o alternativa pentru a nu introduce numarul de cuvinte.*/