Advertisement
xDefo

filtra

Nov 19th, 2020 (edited)
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define MIN -100.0
  6. #define MAX 100.0
  7. #define AMP (MAX-MIN)
  8.  
  9. typedef float* pfloat;
  10.  
  11. void main(void)
  12. {
  13. pfloat pvalori,prumore,psignal;
  14. float max,min,tmp;
  15. unsigned int n_valori,i,j,k,contas;
  16.  
  17. srand(time(NULL));
  18. printf("Inserisci numero valori: ");
  19. scanf("%d",&n_valori);
  20.  
  21. pvalori=(float*)malloc(n_valori*sizeof(float));
  22.  
  23. max=min=pvalori[0]=(((float)rand()/(float)(RAND_MAX)) * AMP)+MIN;
  24. for(i=1;i<n_valori;i++)
  25. {
  26. tmp=(((float)rand()/(float)(RAND_MAX)) * AMP)+MIN;
  27. if(tmp>max)
  28. {
  29. max=tmp;
  30. }
  31. if(tmp<min)
  32. {
  33. min=tmp;
  34. }
  35. pvalori[i]=tmp;
  36. printf("%f\n",tmp);
  37. }
  38. printf("Prima [%f,%f]\n",min,max);
  39. tmp=((max-min)*0.05;
  40. min+=tmp;
  41. max-=tmp;
  42. for(i=0,contas=0;i<n_valori;i++)
  43. {
  44. tmp=pvalori[i];
  45. if((tmp>=min)&&(tmp<=max))
  46. {
  47. contas++;
  48. }
  49. }
  50. printf("Dopo [%f,%f]\n",min,max);
  51. //printf("%d",contas);
  52. prumore=(float*)malloc((n_valori-contas)*sizeof(float));
  53. psignal=(float*)malloc(contas*sizeof(float));
  54. for(i=0,j=0,k=0;i<n_valori;i++)
  55. {
  56. tmp=pvalori[i];
  57. if((tmp>=min)&&(tmp<=max))
  58. {
  59.  
  60. psignal[j++]=tmp;
  61.  
  62. }
  63. else
  64. {
  65. prumore[k++]=tmp;
  66. }
  67. }
  68. printf("Rumore\n");
  69. tmp=n_valori-contas;
  70. for(i=0;i<tmp;i++)
  71. {
  72. printf("%f\n",prumore[i]);
  73. }
  74. printf("Segnale\n");
  75. for(i=0;i<contas;i++)
  76. {
  77. printf("%f\n",psignal[i]);
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement