School-Coding-Cpp/sfusi/funzioni senza modifica del...

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;
}