Дан массив С из 16 элементов.Нужно:проинициализировать массив С, вывод промежуточных данных и массивов на экран. а) Сформировать массив D, в который включить элементы массива С, большие его среднего значения Cs. - неполучается сделать это
Определить k – количество элементов массива D и R – разность между max и min элементами. б) Сформировать матрицу А размером k 5, в которой Aij = i*Di + j*Cj. Определить S-сумму положительных элементов матрицы А.
| Код | #include<stdio.h> #include<math.h> #include<stdlib.h>
int main() { int n=16,i,j,k=0; float c[16]={1,-2.7,3,4.3,5,6.2,-7.5,8.2,9,0,1.1,12,0.3,1,-15,1.6}; float s=0,m,min,max,R,p=0,Cs; float d[16], a[0][5]; printf("massiv C:");/*vivodim massiv c*/ for(j=0; j<n; j++) printf("%.1f ",c[j]); for(j=0; j<n; j++) {s=s+c[j];/*summa vsex elementov*/ Cs=s/n;/*srednee znachenie vsex elementov massiva c*/ } printf("\n\nsrednee znachenie vsex elementov massiva c=%.1f",Cs); for(j=0; j<n; j++) if (c[j]>Cs) k++; printf("\nkolichestvo elementov massiva D:%d",k); printf("\nmassiv D:"); for(j=0; j<n; j++) for (i=0;i<k;i++) {if (c[j]>Cs) d[i]=c[j]; /* kolichestvo elementov massiva D*/ printf("%.1f ",d[i]);}
min=d[0]; for(i=0; i<k; i++) if (d[i]<min) min=d[i]; printf("\n\nminimal'nij element massiva d=%.1f",min); max=d[0]; for(i=0; i<k; i++) if (d[i]>max) max=d[i]; printf("\n\nmaksimal'nij element massiva d=%.1f",max); for(i=0; i<k; i++) R=max-min; printf("\n\nraznost' me*dy max i min elementami massiva D:%.1f",R); for(i=0; i<k; i++) for(j=0; j<5; j++) a[i][j]=i*d[i]+j*c[j]; printf("\n\nmassiv A:\n"); for(i=0; i<k; i++) {printf("\n"); for(j=0; j<5; j++) printf("%.1f ",a[i][j]); } for(i=0; i<k; i++) for(j=0; j<5; j++) if (a[i][j]>0) p+=a[i][j]; printf("\n\nsumma polo*itei'nix elementov matrici A:%.2f",p); printf("\n"); system("pause"); return 0; }
|
не выводится массив D.запуталась как его вывести выводятся нужные значения при запуске програм, но много раз.. помогите пожалуйста |