• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jednostki wyświeltane przez kompilator g++

Object Storage Arubacloud
0 głosów
314 wizyt
pytanie zadane 12 lutego 2019 w C i C++ przez Teslum_369 Gaduła (4,190 p.)
Witam,

Chciałbym zapytać jak można zamienić wynik wypisywany przez kompilator ( w notacji wykładniczej ) na normalny zapis?

Zamiast np 3 sek wyświela mi 4e-06, jak mógłbym to zmienić?

P.S. używam CodeBlocks

Z góry dziękuję!
komentarz 12 lutego 2019 przez Secrus Nałogowiec (32,880 p.)
Podaj więcej danych, z 3sekund nie zrobi ci się notacja naukowa bez powodu
komentarz 12 lutego 2019 przez Teslum_369 Gaduła (4,190 p.)

Takie coś mi wyświetla

komentarz 12 lutego 2019 przez Secrus Nałogowiec (32,880 p.)
Pokaż proszę kod,
komentarz 12 lutego 2019 przez Teslum_369 Gaduła (4,190 p.)
#include <iostream>
#include <ctime>



clock_t start, stop;
double wynik;

int main()
{
    std::cout << "podaj rozmiar tab: ";
    int n{};
    std::cin >> n;

    int array[n];


    srand(time(NULL));

        start = clock();
    for(int i=0; i<n; i++)
    {
        array[i]=rand()%10+1;
    }
        stop = clock();

    wynik = static_cast <double>(stop-start) / CLOCKS_PER_SEC;

    std::cout << "Wynik: " << wynik << " [s]";

    std::cout << "\n\n\n\n";
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 12 lutego 2019 przez niezalogowany

Właściwie odpowiedź padła:

podaj rozmiar tab: 500'000
Wynik: 0.010349 [s]

Funkcje z <ctime> nie nadają się do dokładnych pomiarów. Jeżeli chcesz mierzyć czas np z dokładnością do nanosekund musisz nauczyć się <chrono>, a nie jakichś przestarzałości z C.

0 głosów
odpowiedź 12 lutego 2019 przez Secrus Nałogowiec (32,880 p.)
W programie masz kilka błędów.

Linijka 12, po co klamry za deklaracją zmiennej?

Linijka 15, tak nie deklarujemy tablic, poczytaj o dynamicznym alokowaniu pamięci.

Nie jestem też pewien linijki 27 i konwersji.

C++ znam jedynie podstawy, musiałbyś poczekać na opinię kogoś kto C++ zna lepiej
komentarz 12 lutego 2019 przez Teslum_369 Gaduła (4,190 p.)

Nw o co Ci chodzi, kod nie ma błędów, możliwe, że jest użyta dynamiczna alokacja pamięci, ale to w żaden sposób nie wpływa na zapis z terminala

1
komentarz 12 lutego 2019 przez niezalogowany
  1. Tu nie ma nic złego.
  2. To jest C++ - nie używamy VLA nawet jeżeli taką opcję dostarcza kompilator. Uczymy się języka porządnie. 
  3. Dobra konwersja.

Podobne pytania

+1 głos
2 odpowiedzi 539 wizyt
0 głosów
2 odpowiedzi 196 wizyt
pytanie zadane 1 lipca 2016 w Systemy operacyjne, programy przez Jacque Obywatel (1,300 p.)
0 głosów
1 odpowiedź 541 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez aspoka Mądrala (5,290 p.)

92,760 zapytań

141,684 odpowiedzi

320,468 komentarzy

62,104 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...