Problem z zadaniem
Ostatnio zmodyfikowano 2009-11-07 13:20
bartek483 Temat założony przez niniejszego użytkownika |
Problem z zadaniem » 2009-11-06 19:34:05 Witam, Nie podam tresci zadanie bo nie pamietam, powiem to wlasnymi slowami ale nie wiem czy uda wam sie to zrozumiec ;d Mam podac ilosc substancji w gramach i ubytek w %: Czyli np: jak podam 40 g i 50% to powinno pokazac mi sie: 40 - 100% 20 - 50% 10 - 25% . . . jak jest mniej niz jeden to koniec programu. I Pytanie brzmi: jak zapisac za pomoca ilosc= i ubyte= ta zaleznosc. Jezeli nie wiedziecie o co chodzi to pisac ;D Moze byc tak: ilosc=ilosc-(ubytek/100*ilosc); Rozwiazane: teraz mam nastepne pytanie: podaj kod #include<iostream> #include<conio.h> using namespace std;
int main() { float ubytek, ilosc, c; int dzien; cout << "Ilosc substancji: "; cin >> ilosc; cout << "Codzienny ubytek (%): "; cin >> ubytek; dzien = 0; ilosc = ilosc; while( ilosc > 2 ) { dzien++; ilosc = ilosc -( ubytek / 100 * ilosc ); cout << dzien << " " << ilosc << " " << endl; } cout << endl << "Ilosc substancji spadnie ponizej 1 w dniu: " << dzien + 1 << endl; getch(); return 0; } jak zapisac ilosc zeby zaczynalo sie od podanej ilosci a nie od ilosc-ubydek? |
|
kasprus |
odp » 2009-11-06 20:57:39 Nie wiem czy to oto do końca chodzi, ale sprawdź to: #include<iostream> #include<conio.h> using namespace std;
int main() { float ubytek, ilosc, c; int dzien; cout << "Ilosc substancji: "; cin >> ilosc; cout << "Codzienny ubytek (%): "; cin >> ubytek; dzien = 1; ilosc = ilosc; cout << dzien << " " << ilosc << " " << endl; while( ilosc > 2 ) { ilosc = ilosc -( ubytek / 100 * ilosc ); dzien++; cout << dzien << " " << ilosc << " " << endl; } cout << endl << "Ilosc substancji spadnie ponizej 1 w dniu: " << dzien + 1 << endl; getch(); return 0; } |
|
bartek483 Temat założony przez niniejszego użytkownika |
» 2009-11-06 21:29:57 Moglby mi ktos pow jak zrobic to samo dla ubytku? Przyklad:
1 40 100% 2 20 50% 3 10 25%
;);););) |
|
kasprus |
złe dzilanie programu » 2009-11-07 10:13:15 Zauważyłem, że ten program trochę źle działa, ponieważ jak wpisuje 100 i 20, to wypisuje mi że będzie mniej niż 1 po 19 dniach co nie jest prawdą, bo po 22. Moim zdaniem kod powinien wyglądać tak: #include<iostream> #include<conio.h> using namespace std; int main() { float dzien = 1, ilosc, ubytek, c, ilos; cin >> ilosc; cin >> ubytek; cout << dzien << " " << ilosc << endl; while( ilosc >= 1 ) { dzien++; c =( ilosc / 100 ) * ubytek; ilosc = ilosc - c; if( ilosc < 1 ) break; cout << dzien << " " << ilosc << " " << endl; } cout << endl << "Ilosc substancji spadnie ponizej 1 w dniu: " << dzien << endl; getch(); return 0; } |
|
jacek_k |
» 2009-11-07 10:47:03 To mi wygląda na szereg geometryczny. int main() { float a0 = 100, q = 0.8, a = a0; int i = 1; while( a >= 1 ) { cout << "Dzien " << i++<< '\t' << a << '\t' << a / a0 * 100 << "%\n"; a *= q; } cout << "Mniej niz 1 w dniu " << i << endl; } |
|
bartek483 Temat założony przez niniejszego użytkownika |
» 2009-11-07 13:20:18 Mam pytankooo: Jak zrobic z ubytkiem (%) zeby byl proporcjonalny do ilosci? Przyklad: 1 40 100% 2 20 50% itd .. Podam kod zeby bylo wiadomo o co chodzi ;) : #include <iostream> #include <conio.h>
using namespace std;
int main() { float ilosc, ubytek, d; int dzien; char x; do { cout << "Ilosc substancji: "; cin >> ilosc; cout << "Codzienny ubytek: "; cin >> ubytek; if( ilosc <= 5 ) { cout << "Musi byc wiecej niz 5, sprobuj ponownie." << endl; } else { d = 100; dzien = 1; cout << dzien << " " << ilosc << " " << d << "%" << endl; while( ilosc >= 1 ) { dzien++; d = 100 / 2; ilosc = ilosc -( ubytek / 100 * ilosc ); d =; if( ilosc < 1 ) break; cout << dzien << " " << ilosc << " " << d << "%" << endl; } cout << endl << "Ilosc substancji spadnie ponizej 1 w dniu: " << dzien << endl; } cout << endl << "Kolejna substancja? t/n (jesli podasz inna litere uznamy to jako nie): "; cin >> x; cout << endl; } while( x == 't' ); cout << endl << "Dziekujemy za wspolprace. Prosze nacisnac klawisz aby zakonczyc dzialanie programu .." << endl; getch(); return 0; } |
|
« 1 » |