/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 27/11/2024

Funzione che, ricevuto un array, elimina (accorciando il vettore) i valori pari.
SENZA MEMMOVE.
*/

#include <iostream>
#include <ctime>
#define CAPACITY 100
#define SIZE 10
#define MIN 1
#define MAX 100
using namespace std;

void stampaArray(int arr[], int size);
void riempiArray(int arr[], int size);
int eliminaPari(int arr[], int size);

int main(void) {
	int arr[CAPACITY];
	int size = SIZE;
	
	riempiArray(arr, size);
	stampaArray(arr, size);
	
	size = eliminaPari(arr, size);
	stampaArray(arr, size);
	
	return 0;
}

void stampaArray(int arr[], int size) {
	for (int i = 0; i < size; i++) {
		cout << arr[i] << " ";
	}
	cout << endl;
}

void riempiArray(int arr[], int size) {
	srand(time(NULL));
	for (int i = 0; i < size; i++) {
		arr[i] = rand() % (MAX - MIN + 1) + MIN;
	}
}

int eliminaPari(int arr[], int size) {
	for (int i = 0; i < size; i++) {
		if (arr[i] % 2 == 0) {
			for (int j = i; j < size - 1; j++) {
				arr[j] = arr[j + 1];
			}
			i--;
			size--;
		}
	}
	return size;
}