标题:C++三道题。谁帮个忙看看
只看楼主
xin_8281
Rank: 2
等 级:论坛游民
帖 子:2
专家分:22
注 册:2010-6-22
得分:2 
void px(int x[],int n)
{
    int i,j,t;//i,j没有定义,在这里补充定义
    for(i=1;i<n-1;i++)//这里把分号去掉
    for(j=0;j<n-1;j++)//这里把分号去掉
        if(x[j]<x[j+1])
        {
            t=x[j];
            x[j]=x[j+1];
            x[j+1]=t;
        }
      
}
这个数组能直接怎么传直吗? 我觉得你定义个全局变量会好点吧, 或者用POINTER传值比较好点吧...
呵呵
2010-06-22 21:22
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
得分:2 
#include <iostream>
using namespace std;
template <typename T>
void Swap (T & a, T & b) {
    T temp = a;
    a = b;
    b = temp;
} // 交换函数
template <typename T>
void Sort (T * num, int const& len) {//排序函数
    for (int i=0; i<len; ++i) {
        for (int j=i+1; j<len; ++j) {
            if (num[i] > num[j]) {
                Swap (num[i], num[j]);
            }//if
        }//for (j)
    }
}
template <typename T>
void Output (T * num, int const& len) {// 输出函数
    for (int i=0; i<len; ++i)
        cout << num[i] << " ";
    cout << endl;
}
int main (void) {
    int num[] = {8,4,3,1,2,7};
    int len = sizeof (num)/sizeof (int);
    Sort (num, len);
    Output (num, len);
    return 0;
}
// 这是第一题 没有编译,  大概应该是这个样子
2010-06-25 09:55
kspliusa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:98
专家分:178
注 册:2009-9-27
得分:0 
#include <iostream>

using namespace std;

const int N = 10;
template <typename T>
void InputInfo (T num[][N], int const& row, int const& col) {
    for (int i=0; i<row; ++i) {
        for (int j=0; j<col; ++j) {
            cin >> num[i][j];
        }
    }
}

template <typename T>
void Calculate (T num[][N], int const& row, int const& col) {
    for (int i=0; i<row; ++i) {
        T sum = (T)0;
        int j =0;
        for ( j=0; j<col; ++j) {
            sum += num[i][j];
            num[row][j] += num[i][j];
        }
        num[i][j] = sum;
    }
}

template <typename T>
void OutputInfo (T num[][N], int const& row, int  col) {
    for (int i=0; i<row; ++i) {
        for (int  j=0; j<col; ++j) {
            if (i==row-1 && j==col-1)
                break;
            cout << num[i][j] << " ";
        }
        cout << endl;
    }
}
int main (void) {
    int num[N][N];
    memset(num, 0, sizeof (num));
    InputInfo (num, 4, 3);
    Calculate(num, 4, 3);
    OutputInfo(num, 5, 4);
    return 0;
}
// 这个编译通过了,vs2008环境
2010-06-25 23:58
caimingseed
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2010-6-27
得分:2 
#include<iostream>
using namespace std;
int main()
{
    void sort(int *p);
    void outprint(int a[]);
    int a[]={8,4,3,1,2,7},i;
    sort(a);
    outprint(a);
}
void sort(int *p)
{
    void exchange(int *p1,int *p2 );
    int i,k,j;
    for(i=0;i<6;i++)
    {
        k=i;
        for(j=i+1;j<6;j++)
        {
            if(*(p+k)<*(p+j))
            {
                k=j;
            }
        }
        exchange((p+k),(p+i));
    }
}
void exchange(int *p1,int *p2 )
{
    int temp;
    temp=*p1;
    *p1=*p2;
    *p2=temp;
}
void outprint(int a[])
{
    for(int i=0;i<6;i++)
    {
        cout<<a[i]<<"  ";
    }
    cout<<endl;
}
2010-06-27 15:05
谢谆本
Rank: 2
来 自:湖南娄底
等 级:论坛游民
帖 子:55
专家分:49
注 册:2010-6-21
得分:2 
呵呵~~
2010-06-28 14:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-310882-1-1.html




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

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