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