1. definisce due vettori: il primo di nome a contenente 1000 numeri interi e il secondo di nome b
contenente 500 numeri interi;
4. Analizzando sequenzialmente il vettore a partendo dal secondo posto, copia lelemento del vettore a nel
vettore b solo se maggiore dellelemento precedente. Loperazione deve terminare appena sono stati
esaminati tutti gli elementi del vettore a oppure quando sono stati copiati 500 valori nel vettore b
#include <stdio.h>
#include <stdlib.h>
int a[10];
int b[5];
int i;
int j= 0;
scanf("%d", &a[i]);
a[0] = b[0];
b[j] = a[i];
return 0;
}
Si considerino le seguenti istruzioni del linguaggio c/c++.
int x[100];
essere fatta in modo che la funzione possa modificare la variabile che argomento del
secondo parametro.
---------------------------------------------
*c = *c + *y;
*y = *y + *c;
int G(int* y) {
int c;
c = *y + 2;
F(y, &c);
return *y + c;
int main() {
int x, y;
x = 2;
y = G(&x) - 1;
return 0;
Esercizio 1 (8 punti)
c di tipo int.
Per ogni posizione i del vettore a, se gli elementi del vettore a nelle posizioni minori ad i sono tutte
maggiori del valore contenuto in a[i] allora la funzione deve scrivere in b[i] il valore contenuto nel
parametro c altrimenti la funzione devescrivere in b[i] il valor 2*c.
La funzione deve inoltre restituire il numero di posti del vettore b dove stato copiato il valore contenuto
nel parametro c.
III. inserisce in ogni posizione del vettore x una valore letto da standard input;
IV. leggere una sequenza di valori da standard input e per ogni numero della sequenza eseguire la funzione
CercoMinori applicata al vettore x ed al numero della sequenza scrivendo i risultati della funzione nel
vettore y e nella variabile r. Loperazione deve terminare appena, a seguito dellesecuzione della funzione
CercoMinori in tutti i posti del vettore y presente il valore letto da standard input.
#include <stdio.h>
#include <stdlib.h>
int i;
int tuttomaggiore = 0;
for(i=0;i<10;i++){
if ( a[i] < i )
int x[10];
int y[10];
int i;
int r;
int m;
int j =0;
for(i=0;i<10;i++){
scanf("%d", &x[i]);
while (j<10){
scanf("%d", &m);
j++;
Esercizio 2 (5 punti)
1. definisce due vettori: il primo di nome a contenente 1000 numeri interi e il secondo di nome b
contenente 500 numeri interi;
3. per ogni coppia di elementi consecutivi del vettore a se la somma dei due valori maggiore di zero copia
il primo elemento della coppia nel vettore b altrimenti copia il secondo elemento della coppia nel vettore b.
Loperazione deve terminare appena sono state esaminate tutte le coppie consecutive del vettore a oppure
quando sono stati copiati 500 valori nel vettore b
#include <stdio.h>
#include <stdlib.h>
int a[10];
int b[5];
int i;
int j;
for(i=0;i<10;i++){
scanf("%d", &a[i]);
}
for(i=0; i <10;i++){
b[j] = a[i];
else
j++;
for(i=0;i<10;i++){
scanf("%d\n", b[i]);
return 0;