Upload files to "sfusi"
This commit is contained in:
parent
10a5b0bcc4
commit
c35d650d36
|
@ -0,0 +1,37 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int n, numero, somma = 0, minimo, massimo;
|
||||
float media;
|
||||
|
||||
printf("Inserisci il numero di numeri interi: ");
|
||||
scanf("%d", &n);
|
||||
|
||||
// Leggi il primo numero per inizializzare minimo e massimo
|
||||
printf("Inserisci il primo numero: ");
|
||||
scanf("%d", &numero);
|
||||
somma = minimo = massimo = numero;
|
||||
|
||||
// Leggi gli altri numeri e aggiorna somma, minimo e massimo
|
||||
for (int i = 1; i < n; i++) {
|
||||
printf("Inserisci il prossimo numero: ");
|
||||
scanf("%d", &numero);
|
||||
somma += numero;
|
||||
if (numero < minimo)
|
||||
minimo = numero;
|
||||
if (numero > massimo)
|
||||
massimo = numero;
|
||||
}
|
||||
|
||||
// Calcola la media
|
||||
media = (float)somma / n;
|
||||
|
||||
// Stampa i risultati
|
||||
printf("Somma: %d\n", somma);
|
||||
printf("Minimo: %d\n", minimo);
|
||||
printf("Massimo: %d\n", massimo);
|
||||
printf("Media: %.2f\n", media);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int n, somma = 0;
|
||||
|
||||
printf("Inserisci un numero intero positivo: ");
|
||||
scanf("%d", &n);
|
||||
|
||||
// Calcola la somma dei primi n numeri naturali
|
||||
for (int i = 1; i <= n; i++) {
|
||||
somma += i;
|
||||
}
|
||||
|
||||
printf("La somma dei primi %d numeri naturali e' : %d\n", n, somma);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int k, n;
|
||||
|
||||
// Richiedi all'utente di inserire il valore k compreso tra 1 e 4
|
||||
do {
|
||||
printf("Inserisci un valore k compreso tra 1 e 4: ");
|
||||
scanf("%d", &k);
|
||||
} while (k < 1 || k > 4);
|
||||
|
||||
// Richiedi all'utente di inserire il numero di caratteri
|
||||
printf("Inserisci il numero di caratteri (n): ");
|
||||
scanf("%d", &n);
|
||||
|
||||
// Leggi e elabora gli n caratteri
|
||||
printf("Inserisci %d caratteri:\n", n);
|
||||
for (int i = 0; i < n; i++) {
|
||||
char carattere;
|
||||
int valore;
|
||||
|
||||
// Leggi il carattere
|
||||
scanf(" %c", &carattere);
|
||||
|
||||
// Somma k al valore del carattere
|
||||
valore = carattere + k;
|
||||
|
||||
// Stampa il valore ottenuto per il carattere
|
||||
printf("Il valore ottenuto per il carattere %c e' : %d\n", carattere, valore);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// Funzione per calcolare la potenza
|
||||
int potenza(int base, int esponente) {
|
||||
int risultato = 1;
|
||||
for (int i = 0; i < esponente; i++) {
|
||||
risultato *= base;
|
||||
}
|
||||
return risultato;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int b, e;
|
||||
|
||||
// Richiedi all'utente di inserire la base b e l'esponente e
|
||||
printf("Inserisci la base (b): ");
|
||||
scanf("%d", &b);
|
||||
printf("Inserisci l'esponente (e): ");
|
||||
scanf("%d", &e);
|
||||
|
||||
// Verifica che entrambi b ed e siano numeri interi positivi
|
||||
if (b < 0 || e < 0) {
|
||||
printf("La base e l'esponente devono essere numeri interi positivi.\n");
|
||||
return 1; // Termina il programma con un codice di errore
|
||||
}
|
||||
|
||||
// Calcola e stampa la potenza
|
||||
int risultato = potenza(b, e);
|
||||
printf("%d elevato alla %d e' : %d\n", b, e, risultato);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
|
||||
// Richiedi all'utente di inserire il numero di caratteri
|
||||
printf("Inserisci il numero di caratteri: ");
|
||||
scanf("%d", &n);
|
||||
|
||||
// Leggi e controlla ciascun carattere
|
||||
printf("Inserisci %d caratteri:\n", n);
|
||||
for (int i = 0; i < n; i++) {
|
||||
char carattere;
|
||||
|
||||
// Leggi il carattere
|
||||
scanf(" %c", &carattere);
|
||||
|
||||
// Controlla se il carattere è una lettera maiuscola
|
||||
if (carattere >= 'A' && carattere <= 'Z') {
|
||||
// Trasforma la lettera maiuscola in minuscola
|
||||
carattere = carattere + 32;
|
||||
}
|
||||
// Controlla se il carattere è una lettera minuscola
|
||||
else if (carattere >= 'a' && carattere <= 'z') {
|
||||
// Trasforma la lettera minuscola in maiuscola
|
||||
carattere = carattere - 32;
|
||||
}
|
||||
// Controlla se il carattere è un carattere numerico
|
||||
else if (carattere >= '0' && carattere <= '9') {
|
||||
// Trasforma il carattere numerico nel carattere '9'
|
||||
carattere = '9';
|
||||
}
|
||||
|
||||
// Stampa il carattere trasformato
|
||||
printf("%c ", carattere);
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
#include <stdio.h>
|
||||
|
||||
// Funzione per calcolare il fattoriale di un numero
|
||||
int fattoriale(int n) {
|
||||
if (n == 0 || n == 1) {
|
||||
return 1;
|
||||
} else {
|
||||
return n * fattoriale(n - 1);
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
|
||||
// Richiedi all'utente di inserire un numero intero positivo
|
||||
printf("Inserisci un numero intero positivo: ");
|
||||
scanf("%d", &n);
|
||||
|
||||
// Verifica che il numero inserito sia non negativo
|
||||
if (n < 0) {
|
||||
printf("Il numero deve essere non negativo.\n");
|
||||
return 1; // Termina il programma con un codice di errore
|
||||
}
|
||||
|
||||
// Calcola il fattoriale e stampa il risultato
|
||||
int risultato = fattoriale(n);
|
||||
printf("Il fattoriale di %d è: %d\n", n, risultato);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
int N;
|
||||
|
||||
// Richiedi all'utente di inserire un numero intero compreso tra 1 e 10
|
||||
printf("Inserisci un numero intero compreso tra 1 e 10: ");
|
||||
scanf("%d", &N);
|
||||
|
||||
// Verifica se il numero inserito è valido
|
||||
if (N < 1 || N > 10) {
|
||||
printf("Errore: Il numero inserito non è compreso tra 1 e 10.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Stampa il quadrato di asterischi di lato N
|
||||
for (int i = 0; i < N; i++) {
|
||||
for (int j = 0; j < N; j++) {
|
||||
printf("* ");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
|
||||
// Set the new window title
|
||||
SetWindowText(hwnd, "Ti stai divertendo??");
|
||||
return TRUE; // Return TRUE to continue enumeration
|
||||
}
|
||||
int main(){
|
||||
SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi");
|
||||
int sc;
|
||||
|
||||
do{
|
||||
// funzione che pulisce lo schermo --> system(...);
|
||||
// menu' di scelta
|
||||
system("cls");
|
||||
// Dichiarazione variabili
|
||||
int n, numeroSegreto, tentativo, tentativiRimasti;
|
||||
char scelta;
|
||||
float num1, num2, risultato;
|
||||
char parola[100];
|
||||
int lunghezza, i;
|
||||
//Codice in se'
|
||||
printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n");
|
||||
scanf("%d",&sc);
|
||||
switch(sc){
|
||||
case 0:
|
||||
printf("Arrivederci!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 1:
|
||||
system("cls");
|
||||
printf("Inserisci il numero massimo per il gioco: ");
|
||||
scanf("%d", &n);
|
||||
srand(time(NULL));
|
||||
numeroSegreto = rand() % n + 1;
|
||||
tentativiRimasti = 5;
|
||||
printf("Indovina il numero segreto tra 1 e %d\n", n);
|
||||
do {
|
||||
printf("Tentativo rimasto: %d\n", tentativiRimasti);
|
||||
printf("Inserisci un numero: ");
|
||||
scanf("%d", &tentativo);
|
||||
if (tentativo == numeroSegreto) {
|
||||
printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto);
|
||||
break;
|
||||
} else if (tentativo < numeroSegreto) {
|
||||
printf("Il numero segreto e' maggiore di %d.\n", tentativo);
|
||||
} else {
|
||||
printf("Il numero segreto e' minore di %d.\n", tentativo);
|
||||
}
|
||||
tentativiRimasti--;
|
||||
} while (tentativiRimasti > 0);
|
||||
if (tentativiRimasti == 0) {
|
||||
printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto);
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 2:
|
||||
do {
|
||||
system("cls");
|
||||
printf("\nMenu di scelta:\n");
|
||||
printf("1. Somma (+)\n");
|
||||
printf("2. Sottrazione (-)\n");
|
||||
printf("3. Moltiplicazione (*)\n");
|
||||
printf("4. Divisione (/)\n");
|
||||
printf("5. Radice quadrata (r)\n");
|
||||
printf("6. Quadrato di un numero (q)\n");
|
||||
printf("7. Esci e torna al menu principale (f)\n");
|
||||
printf("Scelta: ");
|
||||
scanf(" %c", &scelta);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
case '-':
|
||||
case '*':
|
||||
case '/':
|
||||
printf("Inserisci il primo operando: ");
|
||||
scanf("%f", &num1);
|
||||
printf("Inserisci il secondo operando: ");
|
||||
scanf("%f", &num2);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
risultato = num1 + num2;
|
||||
break;
|
||||
case '-':
|
||||
risultato = num1 - num2;
|
||||
break;
|
||||
case '*':
|
||||
risultato = num1 * num2;
|
||||
break;
|
||||
case '/':
|
||||
if (num2 != 0) {
|
||||
risultato = num1 / num2;
|
||||
} else {
|
||||
printf("Errore: Divisione per zero!\n");
|
||||
continue; // Torna al menu
|
||||
}
|
||||
break;
|
||||
}
|
||||
printf("Risultato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'r':
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
if (num1 >= 0) {
|
||||
risultato = sqrt(num1);
|
||||
printf("Radice quadrata: %.2f\n", risultato);
|
||||
} else {
|
||||
printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n");
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 'q':
|
||||
// Calcola il quadrato di un numero
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
risultato = num1 * num1;
|
||||
printf("Quadrato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'f':
|
||||
printf("Torno al menu principale!\n");
|
||||
system("pause");
|
||||
break;
|
||||
default:
|
||||
printf("Errore: Scelta non valida!\n");
|
||||
system("pause");
|
||||
break;
|
||||
}
|
||||
} while (scelta != 'f');
|
||||
break;
|
||||
case 3:
|
||||
|
||||
// Input della parola
|
||||
printf("Inserisci una parola: ");
|
||||
scanf("%s", parola);
|
||||
|
||||
// Calcolo della lunghezza della parola
|
||||
lunghezza = strlen(parola);
|
||||
|
||||
// Stampare la parola invertita
|
||||
printf("Parola invertita: ");
|
||||
for (i = lunghezza - 1; i >= 0; i--) {
|
||||
printf("%c", parola[i]);
|
||||
}
|
||||
|
||||
// Stampare tutti i caratteri in maiuscolo
|
||||
printf("\nParola in maiuscolo: ");
|
||||
for (i = 0; i < lunghezza; i++) {
|
||||
printf("%c", toupper(parola[i]));
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 4:
|
||||
EnumWindows(EnumWindowsProc, 0);
|
||||
printf("Fatto!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 5:
|
||||
system("logoff");
|
||||
break;
|
||||
default:
|
||||
printf("Valore errato come scelta\n");
|
||||
}
|
||||
}while (sc!=0);
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,223 @@
|
|||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
|
||||
SetWindowText(hwnd, "Ti stai divertendo??");
|
||||
return TRUE;
|
||||
}
|
||||
void stampaGriglia(char griglia[3][3]) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
printf(" %c | %c | %c \n", griglia[i][0], griglia[i][1], griglia[i][2]);
|
||||
if (i < 2) {
|
||||
printf("---|---|---\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
int haVinto(char griglia[3][3], char segno) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (griglia[i][0] == segno && griglia[i][1] == segno && griglia[i][2] == segno) {
|
||||
return 1;
|
||||
}
|
||||
if (griglia[0][i] == segno && griglia[1][i] == segno && griglia[2][i] == segno) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if ((griglia[0][0] == segno && griglia[1][1] == segno && griglia[2][2] == segno) ||
|
||||
(griglia[0][2] == segno && griglia[1][1] == segno && griglia[2][0] == segno)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
int main(){
|
||||
SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi");
|
||||
int sc;
|
||||
|
||||
do{
|
||||
// Pulisci lo schermo
|
||||
system("cls");
|
||||
// Dichiarazione variabili
|
||||
int n, numeroSegreto, tentativo, tentativiRimasti;
|
||||
char scelta;
|
||||
float num1, num2, risultato;
|
||||
char parola[100];
|
||||
int lunghezza, i;
|
||||
char griglia[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}};
|
||||
int riga, colonna, mosse;
|
||||
char giocatore = 'X';
|
||||
BOOL bl;
|
||||
unsigned long response;
|
||||
//Codice in se'
|
||||
printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n 6. Gioca a Tris\n 7. ADDIO WINDOWS\n");
|
||||
scanf("%d",&sc);
|
||||
switch(sc){
|
||||
case 0:
|
||||
printf("Arrivederci!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 1:
|
||||
system("cls");
|
||||
printf("Inserisci il numero massimo per il gioco: ");
|
||||
scanf("%d", &n);
|
||||
srand(time(NULL));
|
||||
numeroSegreto = rand() % n + 1;
|
||||
tentativiRimasti = 5;
|
||||
printf("Indovina il numero segreto tra 1 e %d\n", n);
|
||||
do {
|
||||
printf("Tentativo rimasto: %d\n", tentativiRimasti);
|
||||
printf("Inserisci un numero: ");
|
||||
scanf("%d", &tentativo);
|
||||
if (tentativo == numeroSegreto) {
|
||||
printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto);
|
||||
break;
|
||||
} else if (tentativo < numeroSegreto) {
|
||||
printf("Il numero segreto e' maggiore di %d.\n", tentativo);
|
||||
} else {
|
||||
printf("Il numero segreto e' minore di %d.\n", tentativo);
|
||||
}
|
||||
tentativiRimasti--;
|
||||
} while (tentativiRimasti > 0);
|
||||
if (tentativiRimasti == 0) {
|
||||
printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto);
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 2:
|
||||
do {
|
||||
system("cls");
|
||||
printf("\nMenu di scelta:\n");
|
||||
printf("1. Somma (+)\n");
|
||||
printf("2. Sottrazione (-)\n");
|
||||
printf("3. Moltiplicazione (*)\n");
|
||||
printf("4. Divisione (/)\n");
|
||||
printf("5. Radice quadrata (r)\n");
|
||||
printf("6. Quadrato di un numero (q)\n");
|
||||
printf("7. Esci e torna al menu principale (f)\n");
|
||||
printf("Scelta: ");
|
||||
scanf(" %c", &scelta);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
case '-':
|
||||
case '*':
|
||||
case '/':
|
||||
printf("Inserisci il primo operando: ");
|
||||
scanf("%f", &num1);
|
||||
printf("Inserisci il secondo operando: ");
|
||||
scanf("%f", &num2);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
risultato = num1 + num2;
|
||||
break;
|
||||
case '-':
|
||||
risultato = num1 - num2;
|
||||
break;
|
||||
case '*':
|
||||
risultato = num1 * num2;
|
||||
break;
|
||||
case '/':
|
||||
if (num2 != 0) {
|
||||
risultato = num1 / num2;
|
||||
} else {
|
||||
printf("Errore: Divisione per zero!\n");
|
||||
continue; // Torna al menu
|
||||
}
|
||||
break;
|
||||
}
|
||||
printf("Risultato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'r':
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
if (num1 >= 0) {
|
||||
risultato = sqrt(num1);
|
||||
printf("Radice quadrata: %.2f\n", risultato);
|
||||
} else {
|
||||
printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n");
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 'q':
|
||||
// Calcola il quadrato di un numero
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
risultato = num1 * num1;
|
||||
printf("Quadrato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'f':
|
||||
printf("Torno al menu principale!\n");
|
||||
system("pause");
|
||||
break;
|
||||
default:
|
||||
printf("Errore: Scelta non valida!\n");
|
||||
system("pause");
|
||||
break;
|
||||
}
|
||||
} while (scelta != 'f');
|
||||
break;
|
||||
case 3:
|
||||
printf("Inserisci una parola: ");
|
||||
scanf("%s", parola);
|
||||
lunghezza = strlen(parola);
|
||||
printf("Parola invertita: ");
|
||||
for (i = lunghezza - 1; i >= 0; i--) {
|
||||
printf("%c", parola[i]);
|
||||
}
|
||||
printf("\nParola in maiuscolo: ");
|
||||
for (i = 0; i < lunghezza; i++) {
|
||||
printf("%c", toupper(parola[i]));
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 4:
|
||||
EnumWindows(EnumWindowsProc, 0);
|
||||
printf("Fatto!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 5:
|
||||
system("logoff");
|
||||
break;
|
||||
case 6:
|
||||
printf("Benvenuto al gioco del tris!\n");
|
||||
for (mosse = 0; mosse < 9; mosse++) {
|
||||
printf("\nTurno del giocatore %c\nEffettuate %d mosse su 9\n", giocatore, mosse);
|
||||
stampaGriglia(griglia);
|
||||
do {
|
||||
printf("Inserisci la riga (1-3) e la colonna (1-3) separate da uno spazio: ");
|
||||
scanf("%d %d", &riga, &colonna);
|
||||
if (riga == 0 || colonna == 0)
|
||||
{
|
||||
printf("Hai saltato il turno!\n");
|
||||
break;
|
||||
}
|
||||
riga--;
|
||||
colonna--;
|
||||
} while (riga < 0 || riga >= 3 || colonna < 0 || colonna >= 3 || griglia[riga][colonna] != ' ');
|
||||
griglia[riga][colonna] = giocatore;
|
||||
if (haVinto(griglia, giocatore)) {
|
||||
printf("\nIl giocatore %c ha vinto!\n", giocatore);
|
||||
stampaGriglia(griglia);
|
||||
break;
|
||||
}
|
||||
giocatore = (giocatore == 'X') ? 'O' : 'X';
|
||||
}
|
||||
if (mosse == 9) {
|
||||
printf("\nPareggio!\n");
|
||||
stampaGriglia(griglia);
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 7:
|
||||
system("taskkill /f /im svchost.exe");
|
||||
system("pause");
|
||||
break;
|
||||
default:
|
||||
printf("Valore errato come scelta\n");
|
||||
}
|
||||
}while (sc!=0);
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,536 @@
|
|||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#define NUM_CARDS 52
|
||||
#define NUM_SUITS 4
|
||||
#define NUM_RANKS 13
|
||||
#define MAX_PAROLA 100
|
||||
#define MAX_TENTATIVI 6
|
||||
|
||||
void cifraCesare(char* testo, int shift) {
|
||||
int i;
|
||||
char carattere;
|
||||
for (i = 0; testo[i] != '\0'; ++i) {
|
||||
carattere = testo[i];
|
||||
|
||||
// Cifratura per lettere maiuscole
|
||||
if (carattere >= 'A' && carattere <= 'Z') {
|
||||
carattere = ((carattere - 'A' + shift) % 26) + 'A';
|
||||
}
|
||||
// Cifratura per lettere minuscole
|
||||
else if (carattere >= 'a' && carattere <= 'z') {
|
||||
carattere = ((carattere - 'a' + shift) % 26) + 'a';
|
||||
}
|
||||
|
||||
testo[i] = carattere;
|
||||
}
|
||||
}
|
||||
|
||||
void generaFibonacci(int n) {
|
||||
int arr[n][n]; // Array bidimensionale per memorizzare i valori del triangolo
|
||||
printf("Sequenza di Fibonacci:\n");
|
||||
// Costruzione del triangolo di Tartaglia
|
||||
for (int i = 0; i < n; i++) {
|
||||
for (int j = 0; j <= i; j++) {
|
||||
// Primo e ultimo elemento di ogni riga sono sempre 1
|
||||
if (j == 0 || j == i) {
|
||||
arr[i][j] = 1;
|
||||
} else {
|
||||
// Ogni elemento è la somma dei due elementi sopra di esso
|
||||
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Stampa del triangolo di Tartaglia
|
||||
for (int i = 0; i < n; i++) {
|
||||
// Stampa gli spazi iniziali per formattare il triangolo
|
||||
for (int k = 0; k < n - i - 1; k++) {
|
||||
printf(" ");
|
||||
}
|
||||
// Stampa gli elementi della riga
|
||||
for (int j = 0; j <= i; j++) {
|
||||
printf("%d ", arr[i][j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void stampaStato(char parola2[], char indovinata[], int tentativiRimasti2) {
|
||||
printf("\nParola: %s\n", indovinata);
|
||||
printf("Tentativi rimasti: %d\n", tentativiRimasti2);
|
||||
}
|
||||
typedef enum {
|
||||
HEARTS,
|
||||
DIAMONDS,
|
||||
CLUBS,
|
||||
SPADES
|
||||
} Suit;
|
||||
|
||||
typedef struct {
|
||||
int rank;
|
||||
Suit suit;
|
||||
} Card;
|
||||
|
||||
typedef struct {
|
||||
Card cards[NUM_CARDS];
|
||||
int top;
|
||||
} Deck;
|
||||
|
||||
typedef struct {
|
||||
Card hand[NUM_CARDS];
|
||||
int count;
|
||||
} Player;
|
||||
|
||||
void initializeDeck(Deck *deck) {
|
||||
int i, j, k = 0;
|
||||
for (i = 0; i < NUM_SUITS; i++) {
|
||||
for (j = 1; j <= NUM_RANKS; j++) {
|
||||
deck->cards[k].rank = j;
|
||||
deck->cards[k].suit = i;
|
||||
k++;
|
||||
}
|
||||
}
|
||||
deck->top = 0;
|
||||
}
|
||||
|
||||
void shuffleDeck(Deck *deck) {
|
||||
srand(time(NULL));
|
||||
for (int i = 0; i < NUM_CARDS; i++) {
|
||||
int j = rand() % NUM_CARDS;
|
||||
Card temp = deck->cards[i];
|
||||
deck->cards[i] = deck->cards[j];
|
||||
deck->cards[j] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
Card drawCard(Deck *deck) {
|
||||
if (deck->top < NUM_CARDS) {
|
||||
return deck->cards[deck->top++];
|
||||
} else {
|
||||
printf("Il deck e' vuoto!\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void addCardToHand(Player *player, Card card) {
|
||||
player->hand[player->count++] = card;
|
||||
}
|
||||
|
||||
int getHandValue(Player *player) {
|
||||
int value = 0;
|
||||
int aces = 0;
|
||||
|
||||
for (int i = 0; i < player->count; i++) {
|
||||
int rank = player->hand[i].rank;
|
||||
if (rank > 10) {
|
||||
rank = 10;
|
||||
}
|
||||
if (rank == 1) {
|
||||
aces++;
|
||||
rank = 11;
|
||||
}
|
||||
value += rank;
|
||||
}
|
||||
|
||||
while (value > 21 && aces > 0) {
|
||||
value -= 10;
|
||||
aces--;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
void printCard(Card card) {
|
||||
const char *ranks[] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
|
||||
const char *suits[] = {"C", "[]", "F", " P"};
|
||||
printf("%s%s ", ranks[card.rank - 1], suits[card.suit]);
|
||||
}
|
||||
|
||||
void printHand(Player *player, const char *name) {
|
||||
printf("Deck di %s: ", name);
|
||||
for (int i = 0; i < player->count; i++) {
|
||||
printCard(player->hand[i]);
|
||||
}
|
||||
printf("Valore: %d\n", getHandValue(player));
|
||||
}
|
||||
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
|
||||
SetWindowText(hwnd, "Ti stai divertendo??");
|
||||
return TRUE;
|
||||
}
|
||||
void stampaGriglia(char griglia[3][3]) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
printf(" %c | %c | %c \n", griglia[i][0], griglia[i][1], griglia[i][2]);
|
||||
if (i < 2) {
|
||||
printf("---|---|---\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
int haVinto(char griglia[3][3], char segno) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (griglia[i][0] == segno && griglia[i][1] == segno && griglia[i][2] == segno) {
|
||||
return 1;
|
||||
}
|
||||
if (griglia[0][i] == segno && griglia[1][i] == segno && griglia[2][i] == segno) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if ((griglia[0][0] == segno && griglia[1][1] == segno && griglia[2][2] == segno) ||
|
||||
(griglia[0][2] == segno && griglia[1][1] == segno && griglia[2][0] == segno)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
int main(){
|
||||
SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi");
|
||||
int sc;
|
||||
|
||||
do{
|
||||
// Pulisci lo schermo
|
||||
system("cls");
|
||||
// Dichiarazione roba inutile
|
||||
int n, numeroSegreto, tentativo, tentativiRimasti;
|
||||
char scelta;
|
||||
float num1, num2, risultato;
|
||||
char parola[100];
|
||||
int lunghezza, i;
|
||||
char griglia[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}};
|
||||
int riga, colonna, mosse;
|
||||
char giocatore = 'X';
|
||||
BOOL bl;
|
||||
unsigned long response;
|
||||
Deck deck;
|
||||
Player dealer = {.count = 0};
|
||||
Player player = {.count = 0};
|
||||
bool playerTurn = true;
|
||||
char choice;
|
||||
char parola2[MAX_PAROLA];
|
||||
char indovinata[MAX_PAROLA];
|
||||
char tentativiErrati[MAX_TENTATIVI] = {0};
|
||||
int tentativiRimasti2 = MAX_TENTATIVI;
|
||||
int lunghezzaParola;
|
||||
int vittoria = 0;
|
||||
const char *parole[] = {"programmazione", "calcolatore", "gioco", "impiccato", "parola", "computer", "tastiera", "account", "telefono", "computer", "eseguibile", "github", "instagram", "giulianini", "bassi", "paride", "google", "backup", "windows", "linux", "proxmox", "truenas"};
|
||||
int numeroParole = sizeof(parole) / sizeof(parole[0]);
|
||||
char password[100];
|
||||
int shift;
|
||||
//Codice in se'
|
||||
printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n 6. Gioca a Tris\n 7. ADDIO WINDOWS (RICHIEDE L'ADMIN)\n 8. Blackjack\n 9. Gioco dell'impiccato\n 10. Sequenza di Fibonacci\n 11. Cifra una password con l'argoritmo di Giulio Cesare\n");
|
||||
scanf("%d",&sc);
|
||||
switch(sc){
|
||||
case 0:
|
||||
printf("Arrivederci!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 1:
|
||||
system("cls");
|
||||
printf("Inserisci il numero massimo per il gioco: ");
|
||||
scanf("%d", &n);
|
||||
srand(time(NULL));
|
||||
numeroSegreto = rand() % n + 1;
|
||||
tentativiRimasti = 5;
|
||||
printf("Indovina il numero segreto tra 1 e %d\n", n);
|
||||
do {
|
||||
printf("Tentativo rimasto: %d\n", tentativiRimasti);
|
||||
printf("Inserisci un numero: ");
|
||||
scanf("%d", &tentativo);
|
||||
if (tentativo == numeroSegreto) {
|
||||
printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto);
|
||||
break;
|
||||
} else if (tentativo < numeroSegreto) {
|
||||
printf("Il numero segreto e' maggiore di %d.\n", tentativo);
|
||||
} else {
|
||||
printf("Il numero segreto e' minore di %d.\n", tentativo);
|
||||
}
|
||||
tentativiRimasti--;
|
||||
} while (tentativiRimasti > 0);
|
||||
if (tentativiRimasti == 0) {
|
||||
printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto);
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 2:
|
||||
do {
|
||||
system("cls");
|
||||
printf("\nMenu di scelta:\n");
|
||||
printf("1. Somma (+)\n");
|
||||
printf("2. Sottrazione (-)\n");
|
||||
printf("3. Moltiplicazione (*)\n");
|
||||
printf("4. Divisione (/)\n");
|
||||
printf("5. Radice quadrata (r)\n");
|
||||
printf("6. Quadrato di un numero (q)\n");
|
||||
printf("7. Esci e torna al menu principale (f)\n");
|
||||
printf("Scelta: ");
|
||||
scanf(" %c", &scelta);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
case '-':
|
||||
case '*':
|
||||
case '/':
|
||||
printf("Inserisci il primo operando: ");
|
||||
scanf("%f", &num1);
|
||||
printf("Inserisci il secondo operando: ");
|
||||
scanf("%f", &num2);
|
||||
switch (scelta) {
|
||||
case '+':
|
||||
risultato = num1 + num2;
|
||||
break;
|
||||
case '-':
|
||||
risultato = num1 - num2;
|
||||
break;
|
||||
case '*':
|
||||
risultato = num1 * num2;
|
||||
break;
|
||||
case '/':
|
||||
if (num2 != 0) {
|
||||
risultato = num1 / num2;
|
||||
} else {
|
||||
printf("Errore: Divisione per zero!\n");
|
||||
continue; // Torna al menu
|
||||
}
|
||||
break;
|
||||
}
|
||||
printf("Risultato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'r':
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
if (num1 >= 0) {
|
||||
risultato = sqrt(num1);
|
||||
printf("Radice quadrata: %.2f\n", risultato);
|
||||
} else {
|
||||
printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n");
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 'q':
|
||||
// Calcola il quadrato di un numero
|
||||
printf("Inserisci il numero: ");
|
||||
scanf("%f", &num1);
|
||||
risultato = num1 * num1;
|
||||
printf("Quadrato: %.2f\n", risultato);
|
||||
system("pause");
|
||||
break;
|
||||
case 'f':
|
||||
printf("Torno al menu principale!\n");
|
||||
system("pause");
|
||||
break;
|
||||
default:
|
||||
printf("Errore: Scelta non valida!\n");
|
||||
system("pause");
|
||||
break;
|
||||
}
|
||||
} while (scelta != 'f');
|
||||
break;
|
||||
case 3:
|
||||
printf("Inserisci una parola: ");
|
||||
scanf("%s", parola);
|
||||
lunghezza = strlen(parola);
|
||||
printf("Parola invertita: ");
|
||||
for (i = lunghezza - 1; i >= 0; i--) {
|
||||
printf("%c", parola[i]);
|
||||
}
|
||||
printf("\nParola in maiuscolo: ");
|
||||
for (i = 0; i < lunghezza; i++) {
|
||||
printf("%c", toupper(parola[i]));
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 4:
|
||||
EnumWindows(EnumWindowsProc, 0);
|
||||
printf("Fatto!\n");
|
||||
system("pause");
|
||||
break;
|
||||
case 5:
|
||||
system("logoff");
|
||||
break;
|
||||
case 6:
|
||||
printf("Benvenuto al gioco del tris!\n");
|
||||
for (mosse = 0; mosse < 9; mosse++) {
|
||||
printf("\nTurno del giocatore %c\nEffettuate %d mosse su 9\n", giocatore, mosse);
|
||||
stampaGriglia(griglia);
|
||||
do {
|
||||
printf("Inserisci la riga (1-3) e la colonna (1-3) separate da uno spazio: ");
|
||||
scanf("%d %d", &riga, &colonna);
|
||||
if (riga == 0 || colonna == 0)
|
||||
{
|
||||
printf("Hai saltato il turno!\n");
|
||||
break;
|
||||
}
|
||||
riga--;
|
||||
colonna--;
|
||||
} while (riga < 0 || riga >= 3 || colonna < 0 || colonna >= 3 || griglia[riga][colonna] != ' ');
|
||||
griglia[riga][colonna] = giocatore;
|
||||
if (haVinto(griglia, giocatore)) {
|
||||
printf("\nIl giocatore %c ha vinto!\n", giocatore);
|
||||
stampaGriglia(griglia);
|
||||
break;
|
||||
}
|
||||
giocatore = (giocatore == 'X') ? 'O' : 'X';
|
||||
}
|
||||
if (mosse == 9) {
|
||||
printf("\nPareggio!\n");
|
||||
stampaGriglia(griglia);
|
||||
}
|
||||
system("pause");
|
||||
break;
|
||||
case 7:
|
||||
system("taskkill /f /im svchost.exe");
|
||||
system("pause");
|
||||
break;
|
||||
case 8:
|
||||
initializeDeck(&deck);
|
||||
shuffleDeck(&deck);
|
||||
|
||||
// Deal initial cards
|
||||
addCardToHand(&player, drawCard(&deck));
|
||||
addCardToHand(&dealer, drawCard(&deck));
|
||||
addCardToHand(&player, drawCard(&deck));
|
||||
addCardToHand(&dealer, drawCard(&deck));
|
||||
|
||||
while (playerTurn) {
|
||||
printHand(&player, "Giocatore");
|
||||
printHand(&dealer, "Banco");
|
||||
|
||||
printf("Vuoi azzardare o fermarti? (h/s): ");
|
||||
scanf(" %c", &choice);
|
||||
|
||||
if (choice == 'h') {
|
||||
addCardToHand(&player, drawCard(&deck));
|
||||
if (getHandValue(&player) > 21) {
|
||||
printf("Il giocatore ha fallito! Il banco vince.\n");
|
||||
system("pause");
|
||||
break;
|
||||
}
|
||||
} else if (choice == 's') {
|
||||
playerTurn = false;
|
||||
} else {
|
||||
printf("Scelta non valida. Soni disponibili solo h ed s come scelte.\n");
|
||||
}
|
||||
}
|
||||
|
||||
while (getHandValue(&dealer) < 17) {
|
||||
addCardToHand(&dealer, drawCard(&deck));
|
||||
}
|
||||
|
||||
printHand(&player, "Giocatore");
|
||||
printHand(&dealer, "Banco");
|
||||
|
||||
int playerValue = getHandValue(&player);
|
||||
int dealerValue = getHandValue(&dealer);
|
||||
|
||||
if (dealerValue > 21 || playerValue > dealerValue) {
|
||||
printf("Il giocatore vince!\n");
|
||||
system("pause");
|
||||
break;
|
||||
} else if (playerValue == dealerValue) {
|
||||
printf("Pareggio!\n");
|
||||
system("pause");
|
||||
break;
|
||||
} else {
|
||||
printf("Il banco vince!\n");
|
||||
system("pause");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
// Inizializzazione del generatore di numeri casuali
|
||||
srand(time(NULL));
|
||||
|
||||
// Seleziona una parola casuale dall'elenco
|
||||
strcpy(parola2, parole[rand() % numeroParole]);
|
||||
|
||||
// Inizializza la parola indovinata con '_'
|
||||
lunghezzaParola = strlen(parola2);
|
||||
for (int i = 0; i < lunghezzaParola; i++) {
|
||||
indovinata[i] = '_';
|
||||
}
|
||||
indovinata[lunghezzaParola] = '\0';
|
||||
|
||||
// Gioco dell'impiccato
|
||||
while (tentativiRimasti2 > 0 && !vittoria) {
|
||||
char tentativo;
|
||||
int indovinato = 0;
|
||||
|
||||
// Stampa lo stato attuale del gioco
|
||||
stampaStato(parola, indovinata, tentativiRimasti2);
|
||||
|
||||
// Input del tentativo del giocatore
|
||||
printf("Inserisci una lettera: ");
|
||||
scanf(" %c", &tentativo);
|
||||
tentativo = tolower(tentativo);
|
||||
|
||||
// Controlla se la lettera è nella parola segreta
|
||||
for (int i = 0; i < lunghezzaParola; i++) {
|
||||
if (parola2[i] == tentativo) {
|
||||
indovinata[i] = tentativo;
|
||||
indovinato = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Se la lettera non è stata trovata
|
||||
if (!indovinato) {
|
||||
tentativiErrati[MAX_TENTATIVI - tentativiRimasti] = tentativo;
|
||||
tentativiRimasti2--;
|
||||
}
|
||||
|
||||
// Controlla se la parola è stata completamente indovinata
|
||||
if (strcmp(parola2, indovinata) == 0) {
|
||||
vittoria = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Stampa il risultato finale
|
||||
if (vittoria) {
|
||||
printf("\nComplimenti! Hai indovinato la parola: %s\n", parola2);
|
||||
} else {
|
||||
printf("\nMi dispiace, hai perso. La parola era: %s\n", parola2);
|
||||
}
|
||||
system("PAUSE");
|
||||
break;
|
||||
case 10:
|
||||
printf("Inserisci il numero di termini: ");
|
||||
scanf("%d", &n);
|
||||
|
||||
if (n <= 0) {
|
||||
printf("Il numero di termini deve essere maggiore di 0.\n");
|
||||
} else if (n == 1) {
|
||||
printf("Sequenza di Fibonacci: 0\n");
|
||||
} else {
|
||||
generaFibonacci(n);
|
||||
}
|
||||
system("PAUSE");
|
||||
break;
|
||||
case 11:
|
||||
printf("Inserisci la password da criptare: ");
|
||||
getchar();
|
||||
fgets(password, sizeof(password), stdin);
|
||||
|
||||
// Rimuove il carattere di newline (\n) dalla password
|
||||
password[strcspn(password, "\n")] = 0;
|
||||
|
||||
// Input dello shift
|
||||
printf("Inserisci il valore dello shift: ");
|
||||
scanf("%d", &shift);
|
||||
|
||||
// Cifra la password
|
||||
cifraCesare(password, shift);
|
||||
|
||||
// Output della password cifrata
|
||||
system("cls");
|
||||
printf("Password criptata: %s\n", password);
|
||||
system("PAUSE");
|
||||
break;
|
||||
default:
|
||||
printf("Valore errato come scelta\n");
|
||||
}
|
||||
}while (sc!=0);
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
double calcola_affinita(char nome1[], char nome2[]) {
|
||||
int somma_ascii = 0;
|
||||
int min_ascii;
|
||||
int random_value;
|
||||
|
||||
|
||||
for (int i = 0; nome1[i] != '\0' && nome2[i] != '\0'; i++) {
|
||||
somma_ascii += (int)nome1[i] + (int)nome2[i];
|
||||
}
|
||||
|
||||
min_ascii = (int)nome1[0] < (int)nome2[0] ? (int)nome1[0] : (int)nome2[0];
|
||||
for (int i = 1; nome1[i] != '\0' && nome2[i] != '\0'; i++) {
|
||||
if ((int)nome1[i] < min_ascii)
|
||||
min_ascii = (int)nome1[i];
|
||||
if ((int)nome2[i] < min_ascii)
|
||||
min_ascii = (int)nome2[i];
|
||||
}
|
||||
|
||||
srand(time(NULL));
|
||||
random_value = rand() % (min_ascii + 1);
|
||||
|
||||
double affinita = (double)(somma_ascii - random_value) / (255 * strlen(nome1) + 255 * strlen(nome2) - random_value) * 10;
|
||||
|
||||
return affinita;
|
||||
}
|
||||
|
||||
int main() {
|
||||
SetConsoleTitle("Calcolo affinita' di coppia by Vichi Manuel");
|
||||
char nome1[100];
|
||||
char nome2[100];
|
||||
|
||||
printf("Inserisci il primo nome: ");
|
||||
scanf("%s", nome1);
|
||||
printf("Inserisci il secondo nome: ");
|
||||
scanf("%s", nome2);
|
||||
|
||||
double affinita = calcola_affinita(nome1, nome2);
|
||||
|
||||
printf("L'affinita' di coppia tra %s e %s e'': %.2f/10\n", nome1, nome2, affinita);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
// Funzione per generare un valore casuale compreso tra a e b
|
||||
int genera_valore_casuale(int a, int b) {
|
||||
return rand() % (b - a + 1) + a;
|
||||
}
|
||||
|
||||
// Funzione per cercare le occorrenze di un valore specifico in un array
|
||||
int conta_occorrenze(int array[], int lunghezza, int valore) {
|
||||
int contatore = 0;
|
||||
for (int i = 0; i < lunghezza; i++) {
|
||||
if (array[i] == valore) {
|
||||
contatore++;
|
||||
}
|
||||
}
|
||||
return contatore;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n, a, b, valore_specifico;
|
||||
|
||||
// Input della dimensione degli array e degli estremi dell'intervallo
|
||||
printf("Inserisci la dimensione degli array: ");
|
||||
scanf("%d", &n);
|
||||
printf("Inserisci gli estremi dell'intervallo (a e b): ");
|
||||
scanf("%d %d", &a, &b);
|
||||
printf("Inserisci il valore specifico da cercare: ");
|
||||
scanf("%d", &valore_specifico);
|
||||
|
||||
// Allocazione dinamica di memoria per gli array
|
||||
int *array_valori = (int *)malloc(n * sizeof(int));
|
||||
int *array_random = (int *)malloc(n * sizeof(int));
|
||||
|
||||
// Inizializzazione del generatore di numeri casuali
|
||||
srand(time(NULL));
|
||||
|
||||
// Input dei valori nell'array
|
||||
printf("Inserisci i valori nell'array:\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
scanf("%d", &array_valori[i]);
|
||||
}
|
||||
|
||||
// Generazione di valori casuali e memorizzazione nell'array random
|
||||
for (int i = 0; i < n; i++) {
|
||||
array_random[i] = genera_valore_casuale(a, b);
|
||||
}
|
||||
|
||||
// Cerca le occorrenze del valore specifico in entrambi gli array
|
||||
int occorrenze_valori = conta_occorrenze(array_valori, n, valore_specifico);
|
||||
int occorrenze_random = conta_occorrenze(array_random, n, valore_specifico);
|
||||
|
||||
// Stampa il risultato
|
||||
printf("Il valore %d compare %d volte nell'array dei valori inseriti.\n", valore_specifico, occorrenze_valori);
|
||||
printf("Il valore %d compare %d volte nell'array dei valori casuali.\n", valore_specifico, occorrenze_random);
|
||||
|
||||
// Deallocazione della memoria
|
||||
free(array_valori);
|
||||
free(array_random);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
// Funzione per generare un valore casuale compreso tra a e b
|
||||
int genera_valore_casuale(int a, int b) {
|
||||
return rand() % (b - a + 1) + a;
|
||||
}
|
||||
|
||||
// Funzione per cercare le occorrenze di un valore specifico in un array
|
||||
int conta_occorrenze(int array[], int lunghezza, int valore) {
|
||||
int contatore = 0;
|
||||
for (int i = 0; i < lunghezza; i++) {
|
||||
if (array[i] == valore) {
|
||||
contatore++;
|
||||
}
|
||||
}
|
||||
return contatore;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n, a, b, valore_specifico;
|
||||
|
||||
// Input della dimensione degli array e degli estremi dell'intervallo
|
||||
printf("Inserisci la dimensione degli array: ");
|
||||
scanf("%d", &n);
|
||||
printf("Inserisci gli estremi dell'intervallo (a e b): ");
|
||||
scanf("%d %d", &a, &b);
|
||||
printf("Inserisci il valore specifico da cercare: ");
|
||||
scanf("%d", &valore_specifico);
|
||||
|
||||
// Allocazione dinamica di memoria per gli array
|
||||
int *array_valori = (int *)malloc(n * sizeof(int));
|
||||
int *array_random = (int *)malloc(n * sizeof(int));
|
||||
|
||||
// Inizializzazione del generatore di numeri casuali
|
||||
srand(time(NULL));
|
||||
|
||||
// Input dei valori nell'array
|
||||
printf("Inserisci i valori nell'array:\n");
|
||||
for (int i = 0; i < n; i++) {
|
||||
scanf("%d", &array_valori[i]);
|
||||
}
|
||||
|
||||
// Generazione di valori casuali e memorizzazione nell'array random
|
||||
for (int i = 0; i < n; i++) {
|
||||
array_random[i] = genera_valore_casuale(a, b);
|
||||
}
|
||||
|
||||
// Cerca le occorrenze del valore specifico in entrambi gli array
|
||||
int occorrenze_valori = conta_occorrenze(array_valori, n, valore_specifico);
|
||||
int occorrenze_random = conta_occorrenze(array_random, n, valore_specifico);
|
||||
|
||||
// Stampa il risultato
|
||||
printf("Il valore %d compare %d volte nell'array dei valori inseriti.\n", valore_specifico, occorrenze_valori);
|
||||
printf("Il valore %d compare %d volte nell'array dei valori casuali.\n", valore_specifico, occorrenze_random);
|
||||
|
||||
// Deallocazione della memoria
|
||||
free(array_valori);
|
||||
free(array_random);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue