• 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
65 wizyt
pytanie zadane 12 lutego w C i C++ przez Teslum_369 Bywalec (2,930 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 (30,300 p.)
Podaj więcej danych, z 3sekund nie zrobi ci się notacja naukowa bez powodu
komentarz 12 lutego przez Teslum_369 Bywalec (2,930 p.)

Takie coś mi wyświetla

komentarz 12 lutego przez Secrus Nałogowiec (30,300 p.)
Pokaż proszę kod,
komentarz 12 lutego przez Teslum_369 Bywalec (2,930 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 (93,300 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 (30,300 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 Bywalec (2,930 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 (93,300 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 196 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ź 458 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez aspoka Mądrala (5,280 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

63,177 zapytań

109,411 odpowiedzi

228,567 komentarzy

42,799 pasjonatów

Przeglądających: 203
Pasjonatów: 11 Gości: 192

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.

...