Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 布尔数组c++;?_C++_Arrays - Fatal编程技术网

C++ 布尔数组c++;?

C++ 布尔数组c++;?,c++,arrays,C++,Arrays,问题是: 编写一个程序,在10分钟内跟踪计划,并报告计划冲突。要表示计划,请使用大小为10的布尔数组;此数组知道任何给定分钟是否被计划的任务占用。您应该将此数组中的所有值初始化为false,表示用户尚未计划任何内容。 1.声明大小和类型正确的数组。初始化它,如图所示。在继续之前做这个 一项任务只需1分钟,但任务将在整个计划中重复,如下所示。任务将有第一次和一个间隔。first time是一个整数,表示任务第一次完成的准确分钟数。间隔表示任务重复之前的分钟数。如果间隔为0,则任务将完全不重复(因此

问题是:

编写一个程序,在10分钟内跟踪计划,并报告计划冲突。要表示计划,请使用大小为10的布尔数组;此数组知道任何给定分钟是否被计划的任务占用。您应该将此数组中的所有值初始化为false,表示用户尚未计划任何内容。 1.声明大小和类型正确的数组。初始化它,如图所示。在继续之前做这个

一项任务只需1分钟,但任务将在整个计划中重复,如下所示。任务将有第一次和一个间隔。first time是一个整数,表示任务第一次完成的准确分钟数。间隔表示任务重复之前的分钟数。如果间隔为0,则任务将完全不重复(因此任务只发生一次)。要将此任务输入到计划中,我们将在所有这些时间将布尔值设置为true。 2.编写一个函数,将数组、数组大小、第一次和间隔作为输入,并将适当的数组元素设置为true

  • 您的程序应该反复提示用户输入两个整数作为第一次和间隔。如果输入任一整数的负值,程序应终止。否则,您的程序应继续将计划数组中的适当位置设置为true(使用您的函数!)

  • 程序还应检查过程中的冲突。如果程序试图在调度数组中已设置为true的位置调度新任务,则会发生冲突。发生这种情况时,您的程序应在屏幕上打印“时间T发生冲突”,其中T是计划中检测到冲突的位置。 提示:检测冲突比听起来容易。修改你的功能

  • 最后,您的程序应该跟踪自开始运行以来检测到的冲突总数,并在终止之前打印出该值。 提示:您的函数可能返回一个整数,指示在尝试调度当前任务时检测到多少冲突。你也必须改变你使用这个功能的方式

  • 这是我的密码,我不知道怎么了,你能帮个忙吗。谢谢

    #include <iostream>
    using namespace std;
    
    int schedule (bool arr[], int size, int firstTime, int interval)
    {
        int conflict = 0;
        int n = firstTime - 1;
        arr[n] = true;
    
        do
        {
            arr[n + interval] = true;
            n = n + interval;
    
            if (arr[n + interval] == arr[n + interval])
            {
                cout << "A conflict has occurred at time " << n + interval << endl;
            }
    
            conflict = conflict + 1;
        }
        while (arr[n] == true);
    
        cout << "Total conflicts detected: " << conflict << endl;
    
        return conflict;
    }
    
    int main()
    {
        int firstTime, interval;
        bool arr[10];
        int i = 0;
    
        while (i < 10)
        {
            arr[i] = false;
            i = i + 1;
        }
    
    
        cout << "Please enter a value for firstTime and interval: " << endl;
        cin >> firstTime >> interval;
    
        while (firstTime >= 0 && interval >= 0)
        {
            schedule(arr, 10, firstTime, interval);
            cout << arr << endl;
        }
    
        return 0;
    }
    
    #包括
    使用名称空间std;
    整数计划(布尔arr[],整数大小,整数首次,整数间隔)
    {
    int冲突=0;
    int n=第一次-1;
    arr[n]=真;
    做
    {
    arr[n+间隔]=真;
    n=n+区间;
    如果(arr[n+间隔]==arr[n+间隔])
    {
    
    cout
    计划
    有两个逻辑错误:

  • 更新之前,需要检查阵列的现有状态 它
  • 循环条件应该包括数组的大小,以便 你不注销结束

  • 你能修复缩进吗?如果你不知道你的代码出了什么问题,而你是编译它的人,你希望我们怎么知道?我不认为
    cout也可以,在
    schedule()
    中,你能想到
    arr[n+interval]==arr[n+interval]的情况吗
    有可能是假的吗?看来问题在于你上课没有集中注意力,你认为stackoverflow是你家庭作业的极客小组?