Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //header
- #ifndef L10P2_H_
- #define L10P2_H_
- void *xmalloc(size_t nrOcteti);
- int *citireVector(int n);
- void afisareVector(int *a, int n);
- int sumaCifre(int k);
- int maxSir(int *v,int n);
- int* determinareW(int *w,int n);
- #endif /* L10P2_H_ */
- //c
- #include <stdio.h>
- #include <stdlib.h>
- #include "l10p2.h"
- void *xmalloc(size_t nrOcteti)
- {
- void *p;
- p = malloc(nrOcteti);
- if(p==0)
- {
- fprintf(stderr,"Memorie insuficienta\n");
- exit(EXIT_FAILURE);
- }
- return p;
- }
- int *citireVector(int n)
- {
- int i;
- int *p;
- p=(int *)xmalloc(n*sizeof(int));
- for(i=0;i<n;i++)
- {
- printf("a(%d)= ",i);
- scanf("%d",p+i);
- }
- return p;
- }
- void afisareVector(int *a, int n)
- {
- int i;
- for(i=0;i<n;i++)
- {
- printf("%3d ",a[i]);
- }
- }
- int sumaCifre(int k)
- {
- int s=0;
- while(k!=0)
- {
- s=k%10 +s;
- k=k/10;
- }
- return s;
- }
- int maxSir(int *v,int n)
- {
- int max,i,imax;
- max=v[0];
- imax=0;
- for(i=1;i<n;i++)
- {
- if(v[i]>max)
- {
- max=v[i];
- imax =i;
- }
- }
- return imax;
- }
- int* determinareW(int *v,int n)
- {
- int i,*w;
- w=(int *)xmalloc(n*sizeof(int));
- for(i=0;i<n;i++)
- {
- w[i]=sumaCifre(v[i]);
- }
- return w;
- }
- //main
- #include <stdio.h>
- #include <stdlib.h>
- #include "l10p2.h"
- int main(void)
- {
- int n,*v,w;
- printf("n=");
- scanf("%d",&n);
- printf("Dati primul vector:\n");
- v=citireVector(n);
- afisareVector(v,n);
- printf("\n");
- w=determinareW(v,n);
- afisareVector(w,n);
- printf("\n");
- int m=maxSir(w,n);
- printf("%d",m);
- free(v);
- v=0;
- free(w);
- w=0;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement