m0_62791243 2022-04-03 11:14 采纳率: 80%
浏览 34
已结题

这个代码为什么没有运行结果呢?(语言-c++)

我输入数字后就没有结果了
【问题描述】
设计并实现一个解决约瑟夫环问题的类Joseph。当需要解决一个n个人间隔为m的约瑟夫环问题,
可以构建一个对象Joseph obj(n, m),然后调用obj.simulate()输出模拟删除过程。
【输入形式】
输入为三个正整数n和m和k,空格分隔,分别代表编号长度和间隔长度和起始位置,编号长度n<=50。
【输出形式】
输出为n个整数,空格分隔。
【样例说明】
约瑟夫环的起始编号为1,编号为[1, n]。
注意判断数组是否溢出。
m的值可以大于n。
1<=k<=n

#include <iostream>
using namespace std;
class Joseph {
public:
    void simulate(int,int,int) {
        int a[50] = {}, count = 0;
        for (int i = 0; i < n; i++) {
            a[i] = i + 1;
        }
        
    }
private:
    int n, m,k;
};
using namespace std;
int main()
{
    int n, m, k;
    cout << "请输入编号长度,间隔长度和起始位置:";
    cin >> n >> m >> k;
    Joseph obj;
    obj.simulate(n, m);
    return 0;
}

展开全部

  • 写回答

1条回答 默认 最新

  • 树下等苹果 2022-04-03 12:13
    关注

    你的simulat函数定义时是三参数的,调用的时候变成两个参数的,还有using namespace std多写了一次

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    我搞忘了 2023-01-05 02:09

    没有自己写构造函数,默认构造不会把你main函数n m k的值传给obj对象,simulate函数定义三参数调用两参数,simulate内没有修改n m k的值,simulate内没有用cout打印结果

    回复
    我搞忘了 2023-01-05 02:09

    没有自己写构造函数,默认构造不会把你main函数n m k的值传给obj对象,simulate函数定义三参数调用两参数,simulate内没有修改n m k的值,simulate内没有用cout打印结果

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月18日
  • 创建了问题 4月3日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部