Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NOWARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- void InserisciVettore(int v[], int dim){
- int i;
- for (i = 0; i < dim; i++){
- printf("inserisci l'elemento di indice %d: \n", i);
- scanf("%d", &v[i]);
- }
- }
- int IntersezioneVettori(int v1[], int v2[], int dim1, int dim2, int v3[]){
- int dim3=1;
- v3 = (int *)malloc(sizeof(int)*dim3);
- for (int i = 0; i < dim1; i++ ){
- for (int j = 0; j < dim2; j++){
- if (v1[i] == v2[j]){
- (v3[dim3-1]) = v1[i];
- v3 = (int*)realloc(v3, sizeof(int)*dim3);
- dim3++;
- }
- }
- }
- return dim3;
- }
- void StampaVettore(int *v, int dim){
- for (int i = 0; i < dim; i++)
- printf("l'elemento %d ha valore %d: ", i, v[i]);
- }
- int main(void) {
- int *vett1; /* primo vettore */
- int *vett2; /* secondo vettore */
- int *vett3; /* terzo vettore */
- int dim1; /* dimensione del primo vettore */
- int dim2; /* dimensione del secondo vettore */
- int dim3; /* dimensione del terzo vettore */
- printf("Inserisci il numero di elementi del primo vettore: ");
- scanf("%d", &dim1);
- //alloca primo vettore
- vett1 = (int *)malloc(sizeof(int)*dim1);
- printf("Inserisci il numero di elementi del secondo vettore: ");
- scanf("%d", &dim2);
- /* alloca il secondo vettore */
- vett2 = (int *)malloc(sizeof(int)*dim2);
- /* inserisce gli elementi dei due vettori di ingresso */
- InserisciVettore(vett1,dim1);
- InserisciVettore(vett2,dim2);
- /* chiama la funzione IntersezioneVettori */
- dim3 = IntersezioneVettori(vett1,vett2,dim1,dim2,vett3);
- StampaVettore(vett3, dim3);
- free(vett1);
- free(vett2);
- free(vett3);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement