114 lines
2.6 KiB
C++
114 lines
2.6 KiB
C++
#include <stdio.h>
|
|
#include <stdbool.h>
|
|
|
|
// Funzione per calcolare la somma degli elementi
|
|
int somma(int arr[], int n) {
|
|
int somma = 0;
|
|
for (int i = 0; i < n; i++) {
|
|
somma += arr[i];
|
|
}
|
|
return somma;
|
|
}
|
|
|
|
// Funzione per calcolare il prodotto degli elementi
|
|
int prodotto(int arr[], int n) {
|
|
int prodotto = 1;
|
|
for (int i = 0; i < n; i++) {
|
|
prodotto *= arr[i];
|
|
}
|
|
return prodotto;
|
|
}
|
|
|
|
// Funzione per trovare il valore minimo
|
|
int min(int arr[], int n) {
|
|
int minimo = arr[0];
|
|
for (int i = 1; i < n; i++) {
|
|
if (arr[i] < minimo) {
|
|
minimo = arr[i];
|
|
}
|
|
}
|
|
return minimo;
|
|
}
|
|
|
|
// Funzione per trovare il valore massimo
|
|
int max(int arr[], int n) {
|
|
int massimo = arr[0];
|
|
for (int i = 1; i < n; i++) {
|
|
if (arr[i] > massimo) {
|
|
massimo = arr[i];
|
|
}
|
|
}
|
|
return massimo;
|
|
}
|
|
|
|
// Funzione per calcolare la media
|
|
float media(int arr[], int n) {
|
|
return (float)somma(arr, n) / n;
|
|
}
|
|
|
|
// Funzione per verificare se l'array è palindromo
|
|
bool isPalindrome(int arr[], int n) {
|
|
for (int i = 0; i < n / 2; i++) {
|
|
if (arr[i] != arr[n - 1 - i]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Funzione per verificare se l'array è ordinato in modo crescente
|
|
bool isSorted(int arr[], int n) {
|
|
for (int i = 1; i < n; i++) {
|
|
if (arr[i] < arr[i - 1]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Funzione per cercare un elemento
|
|
int ricerca(int arr[], int n, int valore) {
|
|
for (int i = 0; i < n; i++) {
|
|
if (arr[i] == valore) {
|
|
return i; // Indice dell'elemento trovato
|
|
}
|
|
}
|
|
return -1; // Elemento non trovato
|
|
}
|
|
|
|
// Funzione per fare il mirroring di un array
|
|
void mirroring(int arr[], int n) {
|
|
for (int i = 0; i < n / 2; i++) {
|
|
int temp = arr[i];
|
|
arr[i] = arr[n - 1 - i];
|
|
arr[n - 1 - i] = temp;
|
|
}
|
|
}
|
|
|
|
// Funzione per scambiare posizioni pari e dispari
|
|
void scambiaPariDispari(int arr[], int n) {
|
|
for (int i = 1; i < n; i += 2) {
|
|
int temp = arr[i - 1];
|
|
arr[i - 1] = arr[i];
|
|
arr[i] = temp;
|
|
}
|
|
}
|
|
|
|
// Funzione per ruotare l'array a destra
|
|
void ruotaDx(int arr[], int n) {
|
|
int ultimo = arr[n - 1];
|
|
for (int i = n - 1; i > 0; i--) {
|
|
arr[i] = arr[i - 1];
|
|
}
|
|
arr[0] = ultimo;
|
|
}
|
|
|
|
// Funzione per ruotare l'array a sinistra
|
|
void ruotaSx(int arr[], int n) {
|
|
int primo = arr[0];
|
|
for (int i = 0; i < n - 1; i++) {
|
|
arr[i] = arr[i + 1];
|
|
}
|
|
arr[n - 1] = primo;
|
|
}
|