main(){ int A[6], B[6], C[6], D[6]; printf("CARREGANDO VETOR A DE 6 ELEMENTOS: \n\n"); le_vetor(A,6); printf("CARREGANDO VETOR B DE 6 ELEMENTOS: \n\n"); le_vetor(B,6); printf("CARREGANDO VETOR C DE 6 ELEMENTOS: \n\n"); le_vetor(C,6); printf("CARREGANDO VETOR D DE 6 ELEMENTOS: \n\n"); le_vetor(D,6); system("cls"); printf("\n\nVETOR A DE 6 ELEMENTOS: \n\n"); imprime_vetor(A,6); printf("\n\nVETOR B DE 6 ELEMENTOS: \n\n"); imprime_vetor(B,6); printf("\n\nVETOR C DE 6 ELEMENTOS: \n\n"); imprime_vetor(C,6); printf("\n\nVETOR D DE 6 ELEMENTOS: \n\n"); imprime_vetor(D,6); printf("\n\nVETOR DE SOMA DE A+B+C+D ELEMENTOS: \n\n"); soma_vetor(A,B,C,D,6); printf("\n\nVETOR DE SOMA DE A-B-C-D ELEMENTOS: \n\n"); dif_vetor(A,B,C,D, 6); printf("\n\nVETOR DE SOMA DE 4*A-5*B+18*C-14*D ELEMENTOS: \n\n"); op_vetor(A,B,C,D, 6); }
int main(){ int x[MAX], n = 0, y[MAX], m = 0, inter[MAX], tam_inter = 0; le_vetor(x, &n); le_vetor(y, &m); interseccao(x, n, y, m, inter, &tam_inter); imprime_vetor(inter, tam_inter); return 0; }
int main() { int *v; int n; v = le_vetor(&n); escreve_vetor(v, n); free(v); return 0; }
main() { int v[DIM]; le_vetor (v, DIM); printf("\nImprimindo o vetor na ordem em que foi lido\n"); imprime_vetor (v, DIM); inverte_vetor (v, DIM); printf("\nImprimindo o vetor depois que foi invertido pela funcao\n"); imprime_vetor (v, DIM); getch(); }
int main(int argc[], char *argv[]){ int dimensao; float **matriz; float *vetorIndependente; int i, j, t, l, status_t, tam, *vet; int linha = 0; pid_t pid = 1; printf("Digite o dimensao da matriz seguido dos elementos e do vetor independente:"); scanf("%d", &dimensao); int TAM_BUFFER = dimensao+3; matriz = le_matriz(dimensao, dimensao); vetorIndependente = le_vetor(dimensao); //criação dos filhos int REF = 1; int inicio = 0; while(REF != dimensao){ int fd[2]; float buffer[TAM_BUFFER]; if(pipe(fd) == -1) printf("Erro na funcao que cria o descritor de arquivo!\n"); for(i=0; i<(dimensao-REF); i++){ if(pid!=0){ sleep(10); pid = fork(); inicio = i+REF; // inicio vai determinar a linha que será usada como referencia } } if(pid == 0){ float constante = (matriz[inicio][REF-1]) / (matriz[REF-1][REF-1]); float *vetor_auxiliar; vetor_auxiliar = calloc(dimensao+2,sizeof(float)); int w = REF-1; for(i=(REF-1); i<dimensao; i++){ vetor_auxiliar[w] = matriz[inicio][i] - ((matriz[REF-1][i])*constante); w++; } vetor_auxiliar[w] = vetorIndependente[inicio] - ((vetorIndependente[REF-1])*constante); vetor_auxiliar[w+1] = inicio; close(fd[0]); write(fd[1], vetor_auxiliar, (TAM_BUFFER)*sizeof(float)); exit(0); sleep(5); } // FIM DA EXECUÇÃO DOS FILHOS if (pid != 0){ close(fd[1]); for (l=0; l<dimensao-REF; l++){ read(fd[0], buffer, sizeof(buffer)); linha = (buffer[dimensao+1]); int y = 0; for(i=0; i<dimensao+1; i++){ matriz[linha][i] = buffer[y]; y++; } vetorIndependente[linha] = buffer[dimensao]; } } REF += 1; } sleep(5); // REALIZANDO A ELIMINAÇÃO float *vetor_resultados = NULL; vetor_resultados = (float *) calloc(dimensao, sizeof(float)); float soma = 0; for (i = dimensao; i>0; i=i-1){ soma = vetorIndependente[i-1]; for (j=i; j<dimensao; j++){ soma += (matriz[i-1][j]*vetor_resultados[j]) * (-1); } vetor_resultados[i-1] = soma / matriz[i-1][i-1]; } // REALIZANDO A ELIMINAÇÃO printf("\n"); //Imprimindo o vetor resultado for(i=0; i<dimensao; i++){ printf("%f ",vetor_resultados[i]); } free_matrix(dimensao, matriz); free_vector(vetorIndependente); return 0; }