У меня около 100 строк, и код работает, но значения неверны, есть идеи, как это исправить?
#include <stdio.h>
#include <stdlib.h>
#define size 6
#define size2 6
float mean(int arr1[],int arr2[],int i,float *mn1,float *mn2){
int sum1=0,sum2=0;
for(i=0;i<=5;i++){
sum1=sum1+arr1[i];
sum2=sum2+arr2[i];
}
*mn1=sum1/6;
*mn2=sum2/6;
}
int median(int arr1[],int arr2[],int n,int n2,float *median1,float *median2){
if(n%2==0){
*median1=(arr1[(n-1)/2]+arr1[n/2])/2.0;
}
else{
*median1=arr1[n/2];
}
if(n2%2==0){
*median2=(arr2[(n2-1)/2]+arr2[n2/2])/2.0;
}
else{
*median2=arr2[n2/2];
}
return *median2;
return *median1;
}
int mode(int arr1[],int arr2[],int i,int q,int *max,int *max2){
int xs[1000]={0};
int xs2[1000]={0};
for(i=0;i<6;i++){
xs[arr1[i]]++;
if(xs[arr1[i]]>*max){
*max=xs[arr1[i]];
}
}
for(q=0;q<6;q++){
xs2[arr2[q]]++;
if(xs2[arr2[q]]>*max2){
*max2=xs2[arr2[i]];
}
}
return *max;
return *max2;
}
int main()
{
float mn1=0.0,mn2=0.0;
int arr1[size],arr2[size2];
int i=0,q=0,temp,n=6,n2=6;
float median1=0.0;
float median2=0.0;
int max=0,max2=0;
printf("please fill array 1: ");
for(i=0;i<size;i++){
scanf("%d",&arr1[i]);
}
printf("please fill array 2: ");
for(i=0;i<size2;i++){
scanf("%d",&arr2[i]);
}
for(i=0 ; i<size ; i++){
for(q=0 ; q<size-1 ; q++){
if(arr1[q]>arr1[q+1]){
temp=arr1[q];
arr1[q]=arr1[q+1];
arr1[q+1]=temp;}}}
for(i=0 ; i<size2 ; i++){
for(q=0 ; q<size2-1 ; q++){
if(arr2[q]>arr2[q+1]){
temp=arr2[q];
arr2[q]=arr2[q+1];
arr2[q+1]=temp;}}}
if(mn1&&median1&&max>mn2&&median2&&max2){
printf("You're playing more video games you have to spent more time studying.\n ");
}
else{
printf("Good, you're spending considerable time in studying.\n");
}
mn1=mean( arr1, arr2, i, &mn1, &mn2);
mn2=mean( arr1, arr2, i, &mn1, &mn2);
median1=median( arr1, arr2, n, n2, &median1, &median2);
median2=median( arr1, arr2, n, n2, &median1, &median2);
max=mode( arr1, arr2, i, q, &max, &max2);
max2=mode( arr1, arr2, i, q, &max, &max2);
printf("\nMean of arr1 is: %0.1f\t Median of arr1 is:%0.1f\t Mode of arr1 is: %d\n",mn1,median1,max);
printf("\nMean of arr2 is: %0.1f\t Median of arr2 is:%0.1f\t Mode of arr2 is: %d\n",mn2,median2,max2);
return 0;
return 0;
}
, если я введу цифры 4 5 5 2 8 9 для arr1 и числа 2 3 1 4 8 4 для arr2 Я получаю это
Среднее значение arr1: 5.0 Среднее значение arr1: 5.0 Режим arr1: 2
Среднее значение arr2: 1. Медиана arr2: 3,0 Режим arr2: 2