Sei sulla pagina 1di 3

#include <stdio.

h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

int *suma(int v[], int n) {


int *s=(int*)malloc(sizeof(int *));
if(s==NULL){
printf("\nMemorie insuficienta!");
return NULL;
}
*s=0;
int i;
for(i=0;i<n;i++)
(*s)+=v[i];
return s;
}

char *cifra(char *s){


char *p=s;
while(!isdigit((*p))&&((*p)!=NULL))
p++;
if(*p==NULL)
return NULL;
return p;
}

char *sirulmic(char *sirul)


{
char *b,*c;

b=(char*)malloc(strlen(sirul));
int i,nr=0;
for(i=0;i<strlen(sirul);i++)
if(islower((int)*(sirul+i)))
{
b[nr]=sirul[i];
nr++;
}
c=(char*)malloc((nr-1));
strncpy(c,b,nr);
strcpy(b+nr," ");
return b;
}

char *siruri(char s[][50],int l){


char *p=s;
char *pp=malloc(l*50+1);
strcpy(pp,"");
while(l--)
strcat(pp,p++);
printf("Sirul concatenat: %s",pp);
}

int main(int argc,char *argv[])


{
char a[101],b[100];
int v[50];
int n;
char s1[50];
int i;

printf("Dati sirul:\n");
fgets(b,100,stdin);
printf("Noul sir obtinut(doar lit mici) este: ");
printf("%s",sirulmic(b));
printf("\nDati sirul de caractere: ");
scanf("%49s",s1);
if(cifra(s1)==NULL)
printf("Nu exista cifre in sir!");
else
printf("Adresa primei cifre este: %p",cifra(s1));
printf("\n\nDati n: ");
scanf("%d",&n);
printf("Dati elementele vectorului:\n");
for(i=0;i<n;i++)
scanf("%d",&v[i]);
int *p=suma(v,n);
if(p!=NULL)
printf("\nSuma este :%d\n",*p);
printf("Adresa sumei este: %p",p);
printf("\n%s");
printf("Dati ");
siruri(argv,argc);
printf("\n\n\n");
return 0;
}

Potrebbero piacerti anche