Esercizi di informatica per il 24-04-2018

#include <stdio.h>
#include <math.h>
#incluse "vettori.h"

void assoluto(int v1[], int v2[]) {
	int i;
	for (i=0; i<10; i++) 
		v2[i] = abs(v1[i]);
}

int main() {
	int a[10], b[10];
	LeggeValoriInteri(a, 10);
	assoluto(a, b);
	StampaValoriInteri(b, 10);
}
// costruire una procedura che permetta di spostare di s posti verso destra un blocco di n elementi collocati in una certa posizione iniziale p all'interno di un 
// array sufficientemente lungo. Per evitare la cancellazione degli elementi durante la copia si consiglia di iniziare la copia dei valori da destra verso sinistra
// mediante un ciclo for in decremento.
// programma fatto il 23.04.18

#include <stdio.h>
#include "vettori.h"

int vett1[20], s, n, p;

void leggegruppoint() {
	int i;
	printf("Inserisci %d numeri:\n", n);
	for (i=p; i<(n+p); i++)
		scanf("%d", &vett1[i]);
}

void spostamentonumeri() {
	int i;
	for (i=(p+s+n-1); i>=0; i--) {
		if(i<20)
			vett1[i]=vett1[i-s];	
	}
}

int main() {
	printf("Inserisci il numero di valori diversi da zero che si vogliono inserire sucessivamente (non piu' di 20): "); scanf("%d", &n);
	printf("Inserisci la posizione iniziale dei numeri (non maggiore di 20): "); scanf("%d", &p);
	leggegruppoint();
	printf("\nIl vettore e': \n");
	StampaValoriInteri(vett1, 20);
	printf("Inserici di quanto vuoi far spostare il blocco verso destra: "); scanf("%d", &s);
	spostamentonumeri();
	printf("\nIl vettore spostato e': \n");
	StampaValoriInteri(vett1, 20);
	return 0;
}