Escolar Documentos
Profissional Documentos
Cultura Documentos
#include <stdio.h>
#include <stdlib.h>
int main()
{ float *v1, *v2, *soma, *produto, *diferenca, *maior, *somaelem;
int tam, i, opcao;
v1 = (float*)malloc(tam * sizeof(float));
v2 = (float*)malloc(tam * sizeof(float));
if(v1==NULL || v2==NULL)
{ printf("\nImpossível alocar memória.\n");
return 1;
}
for(i=0;i<tam;i++)
{ printf("\n\nElemento [%d]: ", i);
scanf("%f", (v1+i));
}
for(i=0;i<tam;i++)
{ printf("\n\nElemento [%d]: ", i);
scanf("%f", (v2+i));
}
for(i=0;i<tam;i++)
{ printf("\t%f", *(v1+i));
}
do
{
printf("\n\nMENU: \n\n 1- Vetor Soma\n 2- Vetor Diferença\n 3-
Vetor Produto\n 4- Maior elemento de v1 e menor elemento de v2\n
5- Soma entre os elementos de v1 e produto entre os elementos de
v2\n 6- Sair\n");
scanf("%d", &opcao);
switch(opcao)
{ case 1:
soma = VetorSoma(v1,v2,tam);
printf("\n\nVetor Soma: ");
for(i=0; i<tam; i++)
{
printf("\t %.2f", *(soma+i));
}
printf("\n\n\n");
break;
case 2:
printf("\n\nVetor Diferença: ");
for(i=0; i<tam; i++)
{ diferenca = VetorDiferenca(v1,v2,tam);
printf("\t %f", *(diferenca+i));
}
printf("\n\n\n");
break;
case 3:
printf("\n\nVetor Produto: ");
for(i=0; i<tam; i++)
{ produto = VetorProduto(v1,v2,tam);
printf("\t %f", *(produto+i));
}
printf("\n\n\n");
break;
case 4:
maior = MaiorMenor(v1,v2,tam, maior);
printf("\n\nMaior elemento do vetor v1: %f", *maior);
printf("\n\n\n");
break;
case 5:
somaelem = SomaProduto(v1,v2,tam, somaelem);
printf("\n\nSoma dos elementos do vetor v1 = %f",
*somaelem);
printf("\n\n\n");
break;
case 6:
printf("\n\n FIM.\n\n");
break;
default:
printf("\n\nOpção inválida.\n\n");
}
} while(opcao!=6);
return 6;
free (v1);
free (v2);
return soma;
}
for(i=0;i<tam;i++)
*(diferenca+i) = *(vet1+i) - *(vet2+i);
return (diferenca);
}
for(i=0;i<tam;i++)
*(produto+i) = *(vet1+i) * *(vet2+i);
return (produto);
}
void *MaiorMenor (float *vet1, float *vet2, int tam, float *maior)
{ float *menor;
int i;
return (maior);
}
return (somaelem);
}
Exercício 2 -
#include <stdio.h>
#include <stdlib.h>
int *uniao (int *x1, int *x2, int n1, int n2, int *qtd);
int main()
{ int i, x1[]={1,3,5,6,7}, x2[]={1,3,4,6,8}, *x3, tam1, tam2,
tam3, *qtd, resp;
tam1 = 5;
tam2 = 5;
tam3 = tam1+tam2;
// IMPRIMINDO OS VETORES
printf("\n\nVetor 1: ");
for(i=0; i<tam1; i++)
{ printf("\t%d", *(x1+i));
}
printf("\n\n");
printf("\n\nVetor 2: ");
for(i=0; i<tam2; i++)
{ printf("\t%d", *(x2+i));
}
x3 = (int*)malloc(tam3*sizeof(int));
if (x3 == NULL)
{ printf("\n\nImpossível alocar memória.\n\n");
return 0;
}
resp = x3 = *uniao(x1,x2,tam1,tam2,x3);
*qtd = resp;
printf("\n\n");
int *uniao (int *x1, int *x2, int n1, int n2, int *qtd)
{ int i=0, j=0, *x3, cont1=0, cont2=0, cont3=0, quantidade=0;
x3 = (int*)malloc((n1+n2) * sizeof(int));
if (x3 == NULL)
{ printf("\n\nImpossível alocar memória.\n\n");
return 0;
}
printf("\n\n");
return (qtd);
return (x3);
}
Exercício 3 -
#include <stdio.h>
#include <stdlib.h>
int *interseccao (int *x1, int *x2, int n1, int n2, int *qtd);
int main()
{ int i, x1[]={1,3,5,6,7}, x2[]={1,3,4,6,8}, *x3, tam1, tam2,
tam_max, *qtd, resp;
tam1 = 5;
tam2 = 5;
tam_max = 5;
// IMPRIMINDO OS VETORES
printf("\n\nVetor 1: ");
for(i=0; i<tam1; i++)
{ printf("\t%d", *(x1+i));
}
printf("\n\n");
printf("\n\nVetor 2: ");
for(i=0; i<tam2; i++)
{ printf("\t%d", *(x2+i));
}
x3 = (int*)malloc(tam_max*sizeof(int));
if (x3 == NULL)
{ printf("\n\nImpossível alocar memória.\n\n");
return 0;
}
printf("\n\n");
int *interseccao (int *x1, int *x2, int n1, int n2, int *qtd)
{ int i=0, j=0, k=0, *x3, cont=0;
x3 = (int*)malloc((n1+n2) * sizeof(int));
if (x3 == NULL)
{ printf("\n\nImpossível alocar memória.\n\n");
return 0;
}
for (i=0;i<n1;i++)
{ j = 0;
while (j < n2 && *(x1+i) != *(x2+j))
{
j++;
}
if (j < n2)
{
k = 0;
while (k < cont && *(x3+k) != *(x1+i))
{
k++;
}
if (k >= cont)
{ *(x3+cont) = *(x1+i);
cont++;
}
}
qtd = cont;
return (qtd);
return (x3);
}