Skocz do zawartości
PolaczeK

Dev C++ tablice

Polecane posty

Witam!

Mam takie zadanie:

Napisz funkcję, która co drugi element tablicy 6 elementowej zastąpi połową wartości elementu tablicy go poprzedzającego. Wyświetl tę tablicę.

 

To co udało mi się wymyślić wygląda tak:

 

#include <cstdio>

#include <math.h>

 

using namespace std;

 

int main ()

{

int wielkosc_tab=6;

int tablica [wielkosc_tab];

 

for(int i=0;i<wielkosc_tab;i++)

{

cout<<"Podaj wartosc "<<i+1<<" elementu tablicy: ";

cin>>tablica;

}

for(int i=0;i<wielkosc_tab;i++)

{

tablica[1]=tablica[0]/2;

tablica[3]=tablica[2]/2;

tablica[5]=tablica[4]/2;

}

cout<<"Wartosc elementu pierwszego wynosi: "<<tablica[0]<<endl;

cout<<"Wartosc elementu drugiego wynosi: "<<tablica[1]<<endl;

cout<<"Wartosc elementu trzeciego wynosi: "<<tablica[2]<<endl;

cout<<"Wartosc elementu czwartego wynosi: "<<tablica[3]<<endl;

cout<<"Wartosc elementu piatego wynosi: "<<tablica[4]<<endl;

cout<<"Wartosc elementu szostego wynosi: "<<tablica[5]<<endl;

 

cin.ignore();

getchar();

return 0;

}

 

Problem znajduje się w tym, że nie wiem gdzie jest błąd, który powoduje, że podczas wypisywania rozwiązania wypisuje mi tylko liczby całkowite, np. 9/2=4 a chciałbym żeby wynik był podawany jako liczby rzeczywiste.

Z góry dziękuję za odpowiedź!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1) jeśli chcesz mieć liczby niecałkowite, to musisz uzyć takiego typu (przybliżający zmienne rzeczywiste, aczkolwiek nie zawsze dokładnie to typy zmiennoprzecinkowe, w c++ znane jako float double, a czasmi long double) - kilka uwag o typie http://kaczus.ppa.pl/art/liczbyzmiennoprzecinkowe,19.html

2) jeśli chce się uzyskać wynik operacji zmiennoprzecinkowy, to jeden z argumentów musi być takim typem, czyli nie 9/2, a 9/2.0 aczkolwiek lepiej jest doprowadzić do sytuacji, w której wykonamy mnożenie zamiast dzielenia, które ze swojej natury jest szybsze, czyli 9*0.5 w tym wypadku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

×