第十五周总结:数组程序举例

重要程序举例

设计一个程序,将一维数组中的元素从大到小排序,即升序排列。

#include<iostream.h>
void main()
{
    int a[10]={5,9,2,6,10,8,1,7,4,3};
    for(int i=0;i<9;i++)
        for(int j=i+1;j<10;j++)
            if(a[i]>a[j]){
                int t=a[i];
                a[i]=a[j];
                a[j]=t;
            }

    for(i=0;i<10;){
        cout<<a[i]<<'\t';
        i++;
        if(i%5==0)cout<<'\n';
    }
    cout<<'\n';
}

将键盘输入的数n插入有序序列num中,并保持序列有序。

#include<iostream.h>
void main()
{
    float num[10]={1.5,2.5,3.5,5.5,7.5,8.5},n;
    int len=6,i,j;
    cout<<"请输入要插入的数:";
    cin>>n;
    for(i=0;i<len;i++)
        if(n<num[i])break;
    for(j=len;j>i;j--)
        num[j]=num[j-1];
    num[i]=n;
    len++;
    for(i=0;i<len;i++){
        cout<<num[i]<<'\t';
        if((i+1)%5==0)cout<<'\n';
    }
    cout<<'\n';
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个常见的 C++ 对象数组的应用是存储一组相同类型的对象,并对它们进行统一的操作。下面以一个简单的图形类为例,来举例说明。 假设我们有一个 Shape 类,它有一个纯虚函数 area(),用于求形状的面积。我们可以派生出 Circle、Rectangle 和 Triangle 类,分别表示圆形、矩形和三角形,它们分别实现了 area() 函数。 现在我们要存储一组不同的形状,并计算它们的总面积。我们可以定义一个 Shape 类型的数组,将不同的形状对象存储在其,然后依次调用每个对象的 area() 函数,即可求出总面积。 下面是示例代码: ```cpp #include <iostream> using namespace std; class Shape { public: virtual double area() = 0; // 纯虚函数 }; class Circle : public Shape { public: Circle(double r) : radius(r) {} double area() { return 3.14 * radius * radius; } private: double radius; }; class Rectangle : public Shape { public: Rectangle(double l, double w) : length(l), width(w) {} double area() { return length * width; } private: double length, width; }; class Triangle : public Shape { public: Triangle(double b, double h) : base(b), height(h) {} double area() { return 0.5 * base * height; } private: double base, height; }; int main() { Shape *shapes[3]; // Shape 类型的数组,存储不同的形状对象 shapes[0] = new Circle(5); shapes[1] = new Rectangle(3, 4); shapes[2] = new Triangle(2, 6); double totalArea = 0; for (int i = 0; i < 3; i++) { totalArea += shapes[i]->area(); // 依次调用每个对象的 area() 函数 } cout << "Total area: " << totalArea << endl; for (int i = 0; i < 3; i++) { delete shapes[i]; // 释放对象内存 } return 0; } ``` 运行结果: ``` Total area: 39.14 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值