Średnia większa od sumy gubienie wyników
Ostatnio zmodyfikowano 2018-01-30 15:37
Beginner777 Temat założony przez niniejszego użytkownika |
Średnia większa od sumy gubienie wyników » 2018-01-30 01:57:23 1. Napisać program pobierający od użytkownika wartości całkowite aż do podania wartości 0 kończącej pobieranie i wypisujący te trójki kolejno podawanych liczb, dla których średnia pierwszej i trzeciej liczby jest większa od sumy liczby drugiej oraz wylosowanej wcześniej liczby R (gdzie R ma być liczbą całkowitą z przedziału [1,100]). Program ma wypisać po zakończeniu podawania liczb ile było takich trójek (końcowe zero nie jest brane pod uwagę). Przykład: dla liczby R=3 oraz ciągu wartości 1 4 2 7 1 -2 2 0 wypisane mają być 2 trójki: (4 2 7) i (1 -2 2) oraz informacja, że były 2 trójki //////////////////////////////////////////////////////////////////////////////////////////// Co robię źle? #include<iostream> #include<cstdlib> #include<ctime> using namespace std;
int main() { srand( time( NULL ) ); int a; int b; int n; int zliczanie = 0; int suma = 0; int r = 3; float srednia = 0; do { cout << "Podawaj liczby:" << endl; cin >> n; if( b == a ) { b = n; } else { if( a == 0 ) { a = n; } else { srednia =( b + n ) / 2; suma = a + r; if( srednia > suma ) { cout << " " << b << " " << a << " " << n; zliczanie++; } } b = a; a = n; suma = 0; srednia = 0; } } while( n != 0 ); if( zliczanie != 0 ) { cout << "Trojek bylo:" << " " << zliczanie << endl; } return 0; }
|
|
geceves |
» 2018-01-30 02:26:44 Ile wynosi w tym miejscu b (oraz a) podczas pierwszego wykonania? Generalnie cały czas używasz niezainicjalizowanych zmiennych. |
|
Beginner777 Temat założony przez niniejszego użytkownika |
» 2018-01-30 02:33:13 poprawiłem ale dalej wywala błąd #include<iostream> #include<cstdlib> #include<ctime> using namespace std;
int main() { srand( time( NULL ) ); int a = 0; int b = 0; int n = 0; int zliczanie = 0; int suma = 0; int r = 3; float srednia = 0; do { cout << "Podawaj liczby:" << endl; cin >> n; if( b == 0 ) { b = n; } else { if( a == 0 ) { a = n; } else { srednia =( b + n ) / 2; suma = a + r; if( srednia > suma ) { cout << endl; cout << " " << b << " " << a << " " << n; zliczanie++; } } b = a; a = n; } } while( n != 0 ); if( zliczanie != 0 ) { cout << "Trojek bylo:" << " " << zliczanie << endl; } return 0; }
|
|
darko202 |
» 2018-01-30 10:51:13 Jakbyś jeszcze napisał jaki masz komunikat błędu ? to mielibyśmy szansę Ci pomóc :) |
|
pekfos |
» 2018-01-30 15:37:15 Masz operować tylko na trójkach, więc nie ma sensu nic robić, póki nie wczytasz przynajmniej 3 liczb. cin >> pierwsza >> druga >> trzecia;
{ pierwsza = druga; druga = trzecia; cin >> trzecia; } |
|
« 1 » |