Exemplo n.º 1
0
void afisare(Llin L)
{
	nod *p;
	if(lung(L)==0) printf("\nLista este vida!!\n\n");
	else
		for(p=L.prim;p!=NULL;p=p->suc)
			printf("%c ",p->val);
}
Exemplo n.º 2
0
void npo(Llin L)
{
	nod *p,*q,*r;
	int i, l=lung(L);
	Llin aux=L;

	if(lung(L)%2!=0)
	{
		printf("\nNU, lista NU reprezinta un sir de forma dorita!\n");
		return;
	}
	
	oglindeste(&aux);
	
	for(p=L.prim,q=aux.prim;q!=NULL;p=p->suc,q=q->suc)
		if(p->val!=q->val)
		{
			printf("\nNU, lista NU reprezinta un sir de forma dorita!\n");
			return;	
		}

	printf("\nDA, lista reprezinta un sir de forma dorita!\n"); 	
}
Exemplo n.º 3
0
void oglindeste(Llin *pL)
{
	nod *p,*u,*q;
	char aux;
	int i,l=lung(*pL);

	u=pL->ultim;
	for(i=1,p=pL->prim;i<=n/2;i++,p=p->suc)
	{
		for(q=pL->prim;q->suc!=u;q=q->suc);
		aux=u->val;
		u->val=p->val;
		p->val=aux;
		u=q;
	}
}
Exemplo n.º 4
0
Arquivo: pb3.c Projeto: iulianR/labs
int main ()
{
    nod *cap;
    
    
    int inf, poz;
    cap = init(cap); //initializare lista
    //introducerea elementelor in lista
    printf("Introduceti noduri in lista. Terminati cu cifra zero.\n");
    printf("Introduceti elementul = ");
    scanf("%d",&inf);
    while(inf != 0) //introducerea se va incheia cu elementul "0"
    {
        cap = adaugaSfarsit(cap,inf); //am ales adaugarea la sfarsit
        printf("Introduceti elementul = ");
        scanf("%d", &inf);
    }
    afisList(cap); //afisarea componentelor listei
    printf("\nLista are %d elemente", lung(cap));
    //adaugarea unui element prin folosirea optiunii de adaugare la inceput
    printf("\nIntroduceti un element pentru a-l adauga la inceput: ");
    scanf("%d", &inf);
    cap = adaugaInceput(cap, inf);
    afisList(cap); //afisarea componentelor listei
    printf("\nLista are %d elemente", lung(cap));
    //exemplificarea adaugarii dupa un element dat
    printf("\nIntroduceti valoarea dupa care doriti sa inserati: ");scanf("%d", &poz);
    printf("Introduceti un element pentru a-l adauga dupa valoarea %d:",poz);
    scanf("%d", &inf);
    cap = adaugaDupaElement(cap, poz, inf);
    afisList(cap); //afisarea componentelor listei
    printf("\nLista are %d elemente", lung(cap));
    //exemplificarea optiunii de modificare a unei valori din lista
    printf("\nIntroduceti valoarea pe care doriti sa o modificati: ");
    scanf("%d", &poz);
    printf("Introduceti noua valoare: ");
    scanf("%d", &inf);
    cap = modify(cap,poz,inf);
    afisList(cap); //afisarea componentelor listei
    printf("\nLista are %d elemente", lung(cap));
    //stergerea primului element din lista
    printf("\nVom sterge primul element din lista \n");
    cap=stergeInceput(cap);
    afisList(cap); //afisarea componentelor listei
    printf("\nLista are %d elemente", lung(cap));
    //stergerea elementului de la sfarsitul listei
    printf("\nVom sterge ultimul element din lista \n");
    cap = stergeSfarsit(cap);
    afisList(cap);
    printf("\nLista are %d elemente", lung(cap));
    //stergerea unei anumite valori din lista
    printf("\nIntroduceti valoarea pe care doriti sa o stergeti: ");
    scanf("%d", &inf);
    cap = stergeElement(cap, inf);
    afisList(cap);
    printf("\nLista are %d elemente", lung(cap));
    //dealocarea listei
    printf("\nVom dealoca lista\n");
    dealocare(cap);
    
    return 0;
}
Exemplo n.º 5
0
/* come assegna con la differenza che pone il risultato in stringa 3 */
void concatena(stringa s1, stringa s2, stringa s3) {
	int i=0, j=0;
	for (j=0; j<lung(s1); i++, j++) s3[i]=s1[j];
	for (j=0; j<lung(s2); i++, j++) s3[i]=s2[j];
	s3[i]='\0';
}
Exemplo n.º 6
0
/* concatena la stringa 2 alla stringa 1 */
void assegna(stringa s1, stringa s2) {
	int i;
	for (i=0; i<lung(s2); i++) s1[i] = s2[i];
	s1[i]='\0';
}