zz.cpp
来自「一个关于中值滤波的程序」· C++ 代码 · 共 68 行
CPP
68 行
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int middle(int array[],int n)
{
int i,j;
int large=0,little=0;
for(i=0;i<n;i++)
{
if(i>0&&((array[i]>array[i-1]&&large<little)||(array[i]<array[i-1]&&little<large)||array[i]==array[i-1]))
continue;
large=little=0;
for(j=0;j<n;j++)
if(j!=i)
{
if(array[j]>=array[i])
large++;
if(array[j]<=array[i])
little++;
}
if(abs(large-little)<=3)
break;
}
return i;
}
void sort(int array[],int n)
{
int i,j;
for(i=0;i<n-1;i++)
for(j=0;j<n-2;j++)
if(array[j]>array[j+1])
{
int t=array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
void output(int array[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(i%20==0)
printf("\n");
printf("%4d",array[i]);
}
}
void main()
{
int i,pos;
int data[1001];
clrscr();
for(i=0;i<1001;i++)
data[i]=random(150);
pos=middle(data,1001);
printf("\nThe original data is:\n");
output(data,1001);
printf("\nThe middle value is:%4d.The position is:%4d",data[pos],pos);
sort(data,1001);
printf("\nThe sorted data is:\n");
output(data,1001);
printf("\nThe middle value from second method is:%4d",data[500]);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?