当前位置: 代码迷 >> C语言 >> 新手求助 急!急!!急!!!
  详细解决方案

新手求助 急!急!!急!!!

热度:114   发布时间:2008-03-06 12:41:57.0
新手求助 急!急!!急!!!
怎样从一个指定数组中取一个随机数,然后将这个随机数从原数组中去除,生成一个新的数组。
请各位朋友帮忙解答一下
谢谢!!!
搜索更多相关的解决方案: 朋友  

----------------解决方案--------------------------------------------------------
void fun(int a[], int size, int aim)
{
    int iDel = 0;
    for (int i=0; i<size; i++)
    {
        if (a[i] != aim)    a[i-iDel] = a[i];
        else iDel++;
    }
}

[[it] 本帖最后由 随心 于 2008-3-6 19:13 编辑 [/it]]
----------------解决方案--------------------------------------------------------
上楼的帅哥,我有点看不懂能帮忙解释一下吗?
----------------解决方案--------------------------------------------------------
用rand()产生随机数呀。。
----------------解决方案--------------------------------------------------------
俺也不懂啊
----------------解决方案--------------------------------------------------------
比如这个数组有N个元素
用rand()产生一个随机数M
M%N得一个数就是那个序号啊
----------------解决方案--------------------------------------------------------
/* 修改了一下随心的函数,只是修改下*/

/*
int a[]  :  接受一个int 数组作为参数(函数参数中int a[] 等同于 int * a)
int size :  数组a的长度
int aim  :  需要删除的元素的值
此函数返回数组中剩余元素的数量。(这是必要的)
*/

int fun(int a[], int size, int aim)
{
    int i, iDel = 0;
    for (i = 0; i < size; i++)
    {
        if (a[i] != aim)
            a[i-iDel] = a[i];
        else
            iDel++;
    }
    return (i - iDel);
}

/* 楼主是要随机从数组中抽取一个元素,然后删除吧 */

[[it] 本帖最后由 cosdos 于 2008-3-6 23:00 编辑 [/it]]
----------------解决方案--------------------------------------------------------
  相关解决方案