• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pętla for wypisująca zakres wartości sin(x) od -pi do pi (bądź odwrotnie, bez różnicy).

Object Storage Arubacloud
0 głosów
313 wizyt
pytanie zadane 16 października 2016 w C i C++ przez Michał Szałowski Nowicjusz (120 p.)
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;

float i = double(M_PI);

int main()
{
    for (i=M_PI; i>=-M_PI; i=i-0.02)
    {
    cout << i << endl;
    }

    fstream danepi;
    danepi.open("dane.txt", ios::out);

    danepi << i << endl;
    danepi.close();

    return 0;
}

Potrzebuję programu wypisującego wartości sin(x) (itd. jak w temacie) wartości powinny być oddzielone tabulatorem (stąd już miałem myśl a propos ASCII /t), ale jeszcze jej nie zrealizowałem, lub użyciem tablic. Kwestia tablic jest taka, że nie do końca mi one działają. Wynik programu mam wywołać w pliku - biblioteka fstream. Nie jestem w stanie zrozumieć czemu. Nie mam w tym momencie kodu z próbą dodania tablic, został mi sam "suchy" kod. Jakieś sugestie? Podpowiedzi? Rady których bibliotek użyć i jak pętlę skonstruować? :)

1 odpowiedź

+2 głosów
odpowiedź 17 października 2016 przez Ehlert Ekspert (212,670 p.)
edycja 17 października 2016 przez Ehlert
  1. Piszesz w C++ więc nie ma potrzeby definiowania iteratora poza pętlą, a już w ogóle poza mainem.
  2. Odejmujesz wartość 0.02 nie wiem skąd. To dość duże zaokrąglenie, a Ty powinieneś używać (PI/180)
  3. Jak kolega Kasztan wspomniał w komentarzu dane do pliku musisz zapisywać "w locie" pętli
  4. Nie liczysz nigdzie jeszcze sinusa. Dołącz cmath i używaj std::sin
komentarz 17 października 2016 przez Kasztan Dyskutant (8,080 p.)
3. Ta pętla może być pomiędzy open a close
komentarz 19 października 2016 przez Michał Szałowski Nowicjusz (120 p.)

Udało mi się osiągnąć to o co mi chodziło, ale dziękuję za rady :P

#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;

float i = M_PI;

int main()
{
    fstream danepi;
    danepi.open("dane.txt", ios::out);

    for (i=-M_PI; i<=M_PI; i=i+0.02)        // Pętla wypisująca wartości x sin pi sin pi^2
    {
    cout << fixed << i << "\t" << sin(i) << "\t" << pow(sin(i),2) << endl;

    danepi << fixed << i << "\t" << sin(i) << "\t" << pow(sin(i),2) << endl;
    }

    danepi.close();
    return 0;
}

 

Podobne pytania

0 głosów
2 odpowiedzi 194 wizyt
0 głosów
1 odpowiedź 435 wizyt
pytanie zadane 12 lipca 2017 w Sprzęt komputerowy przez Undisputed Gaduła (3,040 p.)
0 głosów
1 odpowiedź 96 wizyt

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 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!

...