Forum We are clever Strona Główna
 Home    FAQ    Szukaj    Użytkownicy    Grupy    Galerie
 Rejestracja    Zaloguj
Optymalizacja

 
Napisz nowy temat   Odpowiedz do tematu    Forum We are clever Strona Główna -> Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Szlomber
Naplet
PostWysłany: Czw 18:27, 26 Lis 2009 Powrót do góry


Dołączył: 14 Wrz 2007

Posty: 516
Przeczytał: 0 tematów

Pomógł: 4 razy
Ostrzeżeń: 0/5

Ktoś wrzuca kod, ktoś inny go optymalizuje o ile sie da Smile
Na początek coś dla n00bk'ów::
Kod:
/*
made
   by 0xdd3s
*/
#include <iostream>
int main()
{
   using namespace std;

   double mile;
   double metry;
   
   cout << "Podaj odleglosc w milach: " << endl;
   cin >> mile;
   metry = mile*1.852;
   cout << "Odpowiada to: " << metry << " metrom." << endl;
   return 0;
}


Pytanie pomocnicze::
Da się użyć 1 zmiennej zamiast 2?


Post został pochwalony 0 razy

Ostatnio zmieniony przez Szlomber dnia Sob 17:30, 09 Sty 2010, w całości zmieniany 2 razy
Zobacz profil autora
charles1991
Kaban
PostWysłany: Sob 0:23, 28 Lis 2009 Powrót do góry


Dołączył: 25 Lis 2008

Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: się biorą dzieci?

Kod:
#include <iostream>
int main()
{
  using namespace std;

  float mile; //zmienilem typ zmiennej na float w ramach optymalizacji,
                 //poniewaz zmienna typu float ma wystarczający zakres.
                 //Usunąlem też zmienną typu double nazwaną jako metry,
                 //a wyrazenie przeliczajace jednostki umiescilem w instrukcji
                // cout bezpośrednio.
  cout << "Podaj odleglosc w milach: " <<endl>> mile;
 
  cout << "Odpowiada to: " << mile*1.852 << " metrom." << endl;
  return 0;
}


Post został pochwalony 0 razy
Zobacz profil autora
Szlomber
Naplet
PostWysłany: Sob 13:17, 28 Lis 2009 Powrót do góry


Dołączył: 14 Wrz 2007

Posty: 516
Przeczytał: 0 tematów

Pomógł: 4 razy
Ostrzeżeń: 0/5

^
Dobra. Ciekawe tylko czy ty to kompilowałeś i testowałeś or sth. Może na linuksie idzie ale pod windowsem Dev-C++ wyrzuca takie cuś::
Kod:
11 ->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>](std::endl [with _CharT = char, _Traits = std::char_traits<char>]) >> mile'

Wydaje mi się że źle zapisano pobieranie danych od usera.
Jakieś::
Kod:
cout >> mile;

Nie wiem co to miało oznaczać XD.

Ja zrobiłem to inaczej::
Kod:
#include <iostream>
int main()
{
    using namespace std;
    
       double wynik;
       
    cout << "Podaj odleglosc w milach: ";
   
       cin >> wynik;
       wynik *= 1.852;
       
    cout << "Odpowiada to: " << wynik << " metrom.";
   
   cin.get(); //z powodu g0wnianego zamykania konsoli
   cin.get();
   
   return 0;   
   
 }


Post został pochwalony 0 razy

Ostatnio zmieniony przez Szlomber dnia Sob 13:44, 28 Lis 2009, w całości zmieniany 1 raz
Zobacz profil autora
Szlomber
Naplet
PostWysłany: Nie 12:09, 13 Gru 2009 Powrót do góry


Dołączył: 14 Wrz 2007

Posty: 516
Przeczytał: 0 tematów

Pomógł: 4 razy
Ostrzeżeń: 0/5

Apropo typu float. Może i zakres jest wystarczający ale przy tym typie danych trza uwarzać. Bo: traci dziad na dokładności, co można samemu spawdzić kompilując kodzik::
Kod:
#include <iostream>
int main()
{
    using namespace std;
    cout.setf(ios_base::fixed, ios_base::floatfield);
    cout << "Dzielenie calkowitoliczbowe: 9/5 = " << 9 / 5 << endl;
    cout << "Dzielenie zmiennoprzecinkowe: 9.0 /5.0 = ";
    cout << 9.0 / 5.0 << endl;
    cout << "Dzielenie mieszane: 9.0/5 = " << 9.0 / 5 << endl;
    cout << "Stale typu double: 1E7/9.0 = ";
    cout << 1E7 / 9.0 << endl;
    cout << "Stale typu float: 1E7f/9.0f = ";
    cout << 1E7f / 9.0f << endl;
    
    cin.get();
    cin.get();
    return 0;
    }


Należy pamiętać o tym iż: stałe zmiennoprzecinkowe z definicji są domyślnie typu double.


Post został pochwalony 0 razy
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum We are clever Strona Główna -> Programowanie Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB :: phore theme by Kisioł. Bearshare