| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:[求助]困扰我几天了,请大家指点一下。
取消只看楼主 加入收藏
zidance
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:0 
[求助]困扰我几天了,请大家指点一下。

要求是随机产生100个点(Xi,Yi),1<=i<=100,1<=Xi,Yi<=100,输出100个点。再输出100阶的行列式a(i)[j],其中a(i)[j]为(Xi,Yi)和(Xj,Yj)的距离。然后输出行列式中的最大元素和最小元素,并输出它们的行和列,即输出a(i)[j]形式,确定i和j的值。我试着编了一个程序,但是有两个问题,一是无法保证100个点都不相同,二是实在无法输出最值的行列。请大家指点一下。

程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int i,j,row,colum;
float max_value(float array[101][101])
{
float max=array[1][1];
for(i=1;i<101;i++)
for(j=1;j<101;j++)
if(array[i][j]>max)
max=array[i][j];
return(max);
}
float min_value(float array[101][101])
{
float min=array[1][1];
for(i=1;i<101;i++)
for(j=1;j<101;j++)
if(array[i][j]<min)
min=array[i][j];
return(min);
}
main()
{
int a[101],x[101],y[101];
float b[101][101],max,min;
time_t t;
srand((unsigned) time(&t));
for(i=1;i<101;i++)
{
x[i]=rand()%100+1;
y[i]=rand()%100+1;
}
for(i=1;i<101;i++)
printf("a[%d]=(%d,%d)\t",i,x[i],y[i]);
for(i=1;i<101;i++)
for(j=1;j<101;j++)
b[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
printf("array A:\n");
for(i=1;i<101;i++)
{

for(j=1;j<101;j++)
printf("%7.2f",b[i][j]);
printf("\n");
}
max=max_value(b);
printf("The max number is %5.2f\n",max);

min=min_value(b);
printf("The min number is %5.2f\n",min);
getch();
}

搜索更多相关主题的帖子: include 行列式 
2007-05-22 15:23
快速回复:[求助]困扰我几天了,请大家指点一下。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011484 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved