//
// a.m
// 43
//
// Created by TY on 13-8-12.
// Copyright (c) 2013年
fill. All rights reserved.
//
/*
总结:思维应该这样:1。先直接用冒泡找出数组中值最大的元素不管它有没有其他相同大的元素。
2。取出这个元素的值然后遍历数组,找出值与其相同的元素。尼玛,这么个东西用了我差不多一下午时间,惭愧!
另外,下面这个例子还有一个重点是第二句:
int arr[2]={};
以前php时涉及到一个韩数我想return回两个数。当时用变量替代数组,把值放到数组里,return回变量。
但在oc,或者说是c里就不行了
我先想的是用一个指针指向这个数组,然后return回指针
p=[self _return:0 _and:0.18];
现在p没问题
但下一部
q = p;
NSLog(@"%d--%d\n",q[0],q[1]);
NSLog(@"%d--%d\n",p[0],p[1]);
q打印出来就什么都没有了,应该是这个临时数组释放了。所以要么在先前的成员韩数new一个,把它放进堆里。要么直接把这个数组声明为全局。唉!
*/
#import "a.h"
int arr[2]={};/
[self find_max];
}
-(int *)_return:(int)x _and:(float)y{
int *p;
arr[0]=x*29;
arr[1]=(int)(310-y*310);
p=arr;
return p;
};
-(void)find_max{
int arr[10]={0,1,2,2,4,5,7,9,5,3};
int array[10]={};
for (int i=0;i<10;i++) {//统计每个出现的次数
array[arr[i]]++;
}
for (int i=0;i<10;i++) {//打印每个出现的次数
NSLog(@"%d--%d",i,array[i]);
}
NSLog(@"-------------------------");
int w_array[10]={};
for (int i=0;i<10;i++) {//打印
w_array[i]=array[i];
}
for (int i=0;i<10;i++) {//统计最大数
for(int
j=i+1;j<
style="color: #0433ff">10;j++){
int
temp;
if(array[j]>array[i]){
//max=i;
temp=array[j];
array[j]=array[i];
array[i]=temp;
}
}
}
NSLog(@"%d\n",array[0]);
NSLog(@"-------------------------");
for (int i=0;i<10;i++) {//找出值与最大数值相等的
if(w_array[i]==array[0]){
NSLog(@"%d---%d\n",i,w_array[i]);
}
}
};
@end