web viewmai multe ori.nu se face diferenta intre literele mari si mici,iar alte

7
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; }

Upload: dinhphuc

Post on 28-Feb-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

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

Page 2: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

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);

Page 3: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

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

Page 4: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

/* 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");

Page 5: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

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];

Page 6: Web viewmai multe ori.Nu se face diferenta intre literele mari si mici,iar alte

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.*/