• 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
286 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 513 wizyt
0 głosów
2 odpowiedzi 192 wizyt
pytanie zadane 1 lipca 2016 w Systemy operacyjne, programy przez Jacque Obywatel (1,300 p.)
0 głosów
1 odpowiedź 538 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez aspoka Mądrala (5,290 p.)

92,555 zapytań

141,402 odpowiedzi

319,552 komentarzy

61,939 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...