Zadanie - problem z zapisaniem warunku
Ostatnio zmodyfikowano 2013-11-01 22:38
janiu Temat założony przez niniejszego użytkownika |
Zadanie - problem z zapisaniem warunku » 2013-11-01 21:30:26 Witam ! Dostałem zadanie w którym muszę wpisać do tablicy typu int 10 losowych liczb z zakresu 10-90 oraz wyświetlić na ekranie liczb parzystych, nieparzystych i nieparzystych ale podzielnych przez 3. Wykonałem prawie całe zadanie: #include<iostream> #include<time.h> using namespace std;
void WyswitlanieParzystych( int tablica[], int i ) { if( tablica[ i ] % 2 ); else cout << "Liczby parzyste" << tablica[ i ] << endl; };
void WyswietlanieNieparzystych( int tablica[], int i ) { if( tablica[ i ] % 2 ) cout << "Liczby nieparzyste" << tablica[ i ] << endl; }; int main() { srand( time( 0 ) ); int tab[ 10 ]; cout << "Wszytskie liczby tablicy" << endl; for( int i = 0; i < 10; i++ ) { tab[ i ] = rand() % 81 + 10; cout << tab[ i ] << endl; } cout << "Liczby nieparzyste" << endl; for( int j = 0; j < 10; j++ ) { if( tab[ j ] % 2 ) cout << tab[ j ] << endl; } cout << "Liczby parzyste" << endl; for( int k = 0; k < 10; k++ ) { if( tab[ k ] % 2 ); else cout << tab[ k ] << endl; } cout << "Liczby nieparzyste ale podzielne przez 3" << endl; for( int l = 0; l < 10; l++ ) { system( "pause" ); } ale nie wiem jak zrobić ostatni podpunkt z wyświetleniem liczb nieparzystych ale podzielnych przez 3. Mógłby mi ktoś pomóc? |
|
pekfos |
» 2013-11-01 21:32:27 |
|
janiu Temat założony przez niniejszego użytkownika |
» 2013-11-01 21:37:05 wiem że musze użyć "&&" ale jak wpisze tablica%2&& tablica%3 to nie zadziała tak jak powinno |
|
akwes |
» 2013-11-01 21:45:45 tablica%2 zwraca wartości 0,1 tablica%3 zwraca wartości 0,1,2
A Tobie chodzi o stwierdzenie czy reszta jest równa zero, tak :)? |
|
Buby |
» 2013-11-01 22:09:03 Przypomnij sobie lekcję matmy z 4 klasy podstawówki, jeśli suma cyfr liczby dzieli się przez 3, to liczba jest podzielna przez 3 ;) Wiem, że mnie zganią za danie gotowca, ale pewnie zrozumiesz, czytając komentarze. KOD: #include <iostream>
int main() { int liczba; int jednaCyfra; int sumaCyfr = 0; std::cin >> liczba; while( liczba != 0 ) { jednaCyfra = liczba % 10; sumaCyfr += jednaCyfra; liczba /= 10; } if( !( sumaCyfr % 3 ) ) { std::cout << "Liczba podzielna przez 3" << std::endl; } else { std::cout << "Liczba nie podzielna przez 3" << std::endl; } return 0; }
Kod musisz przerobic, aby odpowiadal twojemu programowi :) Pozdrawiam. @Edit: Po co, tworzysz funkcje, których nie używasz w bloku głównym programu? :) I wskazówka: w pętli "for" nie musisz za każdym razem nadawać zmiennej nowej nazwy - u Ciebie "i","j","l". Ta zmienna jest utworzona wewnątrz pętli i nie jest widoczna poza nią. |
|
den93 |
» 2013-11-01 22:37:26 if( l % 2 && !( l % 3 ) )...; lub if( l & 1 && !( l % 3 ) )...; |
|
janiu Temat założony przez niniejszego użytkownika |
» 2013-11-01 22:38:11 Dzieki wielkie W sumie z twojego programu użyłem tylko jednej linijki: if( !( sumaCyfr % 3 ) ) i zapisałem ten warunek jako if(tab[l]%2 && !(tab[l]%3) )
Tych funkcji po prostu zapomniałem skasować a z tymi zmiennymi że są tworzone tylko w pętli to nie pamiętałem więc dzięki za rade. |
|
« 1 » |