Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Anonimus1234
0 / 0 / 0
Регистрация: 29.08.2008
Сообщений: 10
#1

Глюки с <time.h> - C++

03.01.2011, 16:16. Просмотров 1335. Ответов 1
Метки нет (Все метки)

Я написал программу, считающую сумму всех простых чисел в диапазоне от 1000000 до 2000000, деленную по модулю на число 23 и получил результат : 17 , потом мне захотелось посмотреть, сколько времени работала программа и я включил таймер. После работы поглядел на результат и он был равным 20. В чем проблема ?
Вот листинг программы до :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <math.h>
 
 
int isPrime(int n){
    int i,j;
    if(2 == n){return 1;}
    j  = (int)sqrt((double)n)+1;
    for(i = 2;i < j;i++)if(!(n%i)){return 0;}
    return 1;
}
        
int main(){
    freopen("out.txt","w",stdout);  
    int summ,i = 1000000 , j = 2000000;
    for(;i <= j;i++){
           if(isPrime(i)){summ += i%23;}
           summ = summ % 23;
           }  
    printf("%d",summ);
    return 0;
}
Вот листинг программы после :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <math.h>
#include <time.h>
 
int isPrime(int n){
    int i,j;
    if(2 == n){return 1;}
    j  = (int)sqrt((double)n)+1;
    for(i = 2;i < j;i++)if(!(n%i)){return 0;}
    return 1;
}
        
int main(){
    freopen("out.txt","w",stdout);  
    clock_t time;
    time = clock();
    int summ,i = 1000000 , j = 2000000;
    for(;i <= j;i++){
           if(isPrime(i)){summ += i%23;}
           summ = summ % 23;
           }  
    printf("%d",summ);
    time = clock() - time;
    printf("\n%f", (double)time/CLOCKS_PER_SEC);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 16:16     Глюки с <time.h>
Посмотрите здесь:

C++ srand(time(0))
C++ time в цикли while
C++ С++ time
C++ класс Time
Класс time C++
C++ Класс Time через time(0)
C++ Функция time
Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time (). C++
Класс "Время". Двусмысленность между time и std:time(long*) C++
C++ Что за ошибка: "E2015 Ambiguity between 'time' and 'std::time"?
C++ Что за ошибка: "E2015 Ambiguity between 'time' and 'std::time"?
C++ Compile-time и run-time методы и функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
03.01.2011, 16:26     Глюки с <time.h> #2
Проблема, видимо, в том, что вы не инициализируете переменную summ.
Например, summ = 0.
Yandex
Объявления
03.01.2011, 16:26     Глюки с <time.h>
Ответ Создать тему
Опции темы

Текущее время: 21:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru