Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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++_Sorting_Time - Fatal编程技术网

C++ 我正在打印当前时间,但我得到了大量与时间无关的数字

C++ 我正在打印当前时间,但我得到了大量与时间无关的数字,c++,sorting,time,C++,Sorting,Time,我需要计算排序所需的时间。这是一个家庭作业,我的老师说,包含了1987年的一些函数,可以告诉你从那时起的时间。这在排序之前和之后运行,两个值之间的差值就是排序时间。然而,我找不到任何与时间函数相关的东西&1987……有人知道他在说什么吗,或者有没有其他方法来计算排序时间 int main() { int n; vector<int> data; time_t t =time(0); cout<<"Vector length?: "<

我需要计算排序所需的时间。这是一个家庭作业,我的老师说,
包含了1987年的一些函数,可以告诉你从那时起的时间。这在排序之前和之后运行,两个值之间的差值就是排序时间。然而,我找不到任何与时间函数相关的东西&1987……有人知道他在说什么吗,或者有没有其他方法来计算排序时间

int main()
{
    int n;
    vector<int> data;
    time_t t =time(0);

    cout<<"Vector length?: "<<endl;
    cin>>n;

    srand(time(0));
    for (int i=0; i<n; i++)
    {
        data.push_back(rand()%20+1);
    }

    cout<<"Vector: "<<endl;
    for (int i=0; i<n; i++)
    {
        cout<<data[i]<<" "<<endl;
    }

    cout<<"Time: "<<t<<endl;
    insertionSort(data);


    cout<<"***Insertion Sorted Vector*** "<<endl;
    //cout<<"Time taken: "<<i_t2-i_t1<<endl;

    system("Pause");

    return 0;




}
intmain()
{
int n;
矢量数据;
时间t=时间(0);
库特

功能时间

time_t time (time_t* timer);
获取当前时间获取当前日历时间作为类型的值 时间

函数返回此值,如果参数不是null 指针,它还将此值设置为计时器指向的对象

返回的值通常为(并非总是由用户3528438返回)表示自 UTC 1970年1月1日00:00(即当前unix时间戳)。 尽管库可能使用不同的时间表示形式: 可移植程序不应使用此函数返回的值 直接,但始终依赖于对标准其他元素的调用 库将它们转换为可移植类型(如localtime、gmtime) 或difftime


/*时间示例*/
#包括/*printf*/
#包括/*time\u t、struct tm、difftime、time、mktime*/
int main()
{
时间计时器;
结构tm y2k={0};
双秒;
y2k.tm_小时=0;y2k.tm_分钟=0;y2k.tm_秒=0;
y2k.tm_year=100;y2k.tm_mon=0;y2k.tm_mday=1;
时间(&timer);/*获取当前时间;与:timer=time(NULL)相同*/
秒=difftime(计时器、mktime(&y2k));
//^^^^^^^^^请参见此处的difftime
printf(“自2000年1月1日起当前时区内的%.f秒”),秒);
返回0;
}

-如果不确定,请阅读文档。要么你记错了,要么你的老师把截止日期搞错了,在大多数系统上,截止日期是1970年1月1日,而不是1987年。你知道,我实际上在内部讨论了是1987年还是1970年,但我选择前者纯粹是因为它是最近的,哈哈!
/* time example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, difftime, time, mktime */

int main ()
{
  time_t timer;
  struct tm y2k = {0};
  double seconds;

  y2k.tm_hour = 0;   y2k.tm_min = 0; y2k.tm_sec = 0;
  y2k.tm_year = 100; y2k.tm_mon = 0; y2k.tm_mday = 1;

  time(&timer);  /* get current time; same as: timer = time(NULL)  */

  seconds = difftime(timer,mktime(&y2k)); 

         //  ^^^^^^^  see difftime here

  printf ("%.f seconds since January 1, 2000 in the current timezone", seconds);

  return 0;
}