• 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
57 wizyt
pytanie zadane 6 dni temu w C i C++ przez Karol_Tesla Użytkownik (880 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 6 dni temu przez Secrus Pasjonat (21,620 p.)
Podaj więcej danych, z 3sekund nie zrobi ci się notacja naukowa bez powodu
komentarz 6 dni temu przez Karol_Tesla Użytkownik (880 p.)

Takie coś mi wyświetla

komentarz 6 dni temu przez Secrus Pasjonat (21,620 p.)
Pokaż proszę kod,
komentarz 6 dni temu przez Karol_Tesla Użytkownik (880 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ź 6 dni temu przez Hipcio Szeryf (81,260 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ź 6 dni temu przez Secrus Pasjonat (21,620 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 6 dni temu przez Karol_Tesla Użytkownik (880 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 6 dni temu przez Hipcio Szeryf (81,260 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 182 wizyt
0 głosów
2 odpowiedzi 102 wizyt
pytanie zadane 1 lipca 2016 w Systemy operacyjne, programy przez Jacque Obywatel (1,290 p.)
0 głosów
1 odpowiedź 453 wizyt
pytanie zadane 21 listopada 2015 w C i C++ przez aspoka Mądrala (5,280 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

60,245 zapytań

105,929 odpowiedzi

220,065 komentarzy

32,445 pasjonatów

Przeglądających: 180
Pasjonatów: 2 Gości: 178

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.

...