Zliczanie kolejnych parzystych bądź nieparzystych elementów.
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Zliczanie kolejnych parzystych bądź nieparzystych elementów.

AutorWiadomość
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:
C/C++
#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
P-168647
» 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.
P-168648
« 1 »
 Strona 1 z 1