Zliczanie kolejnych parzystych bądź nieparzystych elementów.
Ostatnio zmodyfikowano 2018-01-11 23:30
aram100 Temat założony przez niniejszego użytkownika |
Zliczanie kolejnych parzystych bądź nieparzystych elementów. » 2018-01-11 23:22:11 Witam. Mam wypełnić tablicę o 20 elementach losowymi liczbami (powiedzmy że od 1 do 9). Następnie - podzielić wszelkie parzyste przez 2 i wyświetlić ponownie tablicę (nieparzyste zostawiamy w spokoju) Mój kod: #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
#define SIZE 20
int main() { srand( time( NULL ) ); int tablica[ SIZE ] = { }; for( int i = 0; i < SIZE; i++ ) { tablica[ i ] = rand() % 9 + 1; } for( int i = 0; i < SIZE; i++ ) { cout << tablica[ i ] << " "; } cout << endl; int * wskaznik; int pomocnicza = 0; for( int i = 0; i < SIZE; i++ ) { wskaznik = & tablica[ i ]; if(( * wskaznik % 2 ) == 0 ) { * wskaznik =( * wskaznik / 2 ); } } for( int i = 0; i < SIZE; i++ ) { cout << tablica[ i ] << " "; } return 0; }
I teraz zaczyna się problem - bo mam przejechać znowu po tablicy i sumować kolejne liczby na zasadzie: - jeśli występuje tylko jedna parzysta bądź nieparzysta pod rząd to przepisywać - jeśli występuje kilka nieparzystych pod rząd to sumować je kolejno, aż do napotkania parzystej i zapisać sumę pod jednym indeksem tablicy - analogicznie dla kilku parzystych - sumuje aż do napotkania nieparzystej A także skrócić samą tablicę (mniej elementów) Moje pytania: 1. Da się to zrobić bez robienia (dynamicznie) nowej tablicy? 2. Jeśli tak to czy da się zmniejszyć jej rozmiar? (no bo o to chodzi) -> Może jakieś wskazówki |
|
pekfos |
» 2018-01-11 23:30:24 1. Da się. 2. Nie da się zmienić rozmiaru tablicy. Możesz najwyżej traktować ją jakby miała mniej elementów niż ma. |
|
« 1 » |