feat: Initial commit

This commit is contained in:
2024-03-22 17:14:57 +01:00
parent dc83234df1
commit db9bafe755
45 changed files with 1996 additions and 0 deletions

58
Laboratorio 4/ruota.c Normal file
View File

@@ -0,0 +1,58 @@
// Laboratorio 4 - Esercizio 2
// Matteo Schiff - s295565
#include <stdio.h>
#include <ctype.h>
#define MAX_N 30
void ruota(int v[MAX_N], int N, int P, int dir);
void ruota(int v[MAX_N], int N, int P, int dir) {
int t;
P = P % N;
for (int x = 0; x < P; x++) {
if (dir == 1) {
t = v[0];
for (int i = 0; i < N - 1; i++) {
v[i] = v[i+1];
}
v[N-1] = t;
} else {
t = v[N-1];
for (int i = N-1; i > 0; i--) {
v[i] = v[i-1];
}
v[0] = t;
}
}
for (int x = 0; x < N; x++) {
printf("%d ", v[x]);
}
putchar('\n');
}
int main()
{
int V[MAX_N], N, P, dir;
do {
printf("Inserisci N compreso tra 0 e %d: ", MAX_N);
} while(scanf("%d", &N) != 1 || N > MAX_N || N < 0);
printf("Inserisci il vettore di lunghezza %d: ", N);
for(int i = 0; i < N; i++) {
scanf(" %d", &V[i]);
}
do {
printf("Inserisci il numero di rotazioni e la direzione (formato '<rotazioni> <direzione>'): ");
scanf(" %d %d", &P, &dir);
ruota(V, N, P, dir);
} while (P != 0);
return 0;
}