• 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++

0 głosów
70 wizyt
pytanie zadane 12 lutego w C i C++ przez Teslum_369 Gaduła (3,110 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 przez Secrus Nałogowiec (32,460 p.)
Podaj więcej danych, z 3sekund nie zrobi ci się notacja naukowa bez powodu
komentarz 12 lutego przez Teslum_369 Gaduła (3,110 p.)

Takie coś mi wyświetla

komentarz 12 lutego przez Secrus Nałogowiec (32,460 p.)
Pokaż proszę kod,
komentarz 12 lutego przez Teslum_369 Gaduła (3,110 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 przez Hipcio Szeryf (96,880 p.)

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 przez Secrus Nałogowiec (32,460 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 przez Teslum_369 Gaduła (3,110 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 przez Hipcio Szeryf (96,880 p.)
  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 197 wizyt
0 głosów
2 odpowiedzi 104 wizyt
pytanie zadane 1 lipca 2016 w Systemy operacyjne, programy przez Jacque Obywatel (1,290 p.)
0 głosów
1 odpowiedź 460 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez aspoka Mądrala (5,280 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

64,866 zapytań

111,328 odpowiedzi

234,208 komentarzy

46,729 pasjonatów

Przeglądających: 161
Pasjonatów: 2 Gości: 159

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...