Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
piesa perdida
#include <stdio.h> void poblarVector(unsigned long * , unsigned long); void mostrarVector(unsigned long * , unsigned long); void ordenarVector(unsigned long * , unsigned long); unsigned long calcularPiezaPerdida(unsigned long * , unsigned long); unsigned long sumaPiezasVectorRec(unsigned long * , unsigned long); int main() { unsigned long totalPiezas; do { scanf("%lu", &totalPiezas); if (totalPiezas == 0) { printf("---ADIOS ANDRES---"); return 0; } unsigned long puzzle[totalPiezas-1]; poblarVector(puzzle,totalPiezas-1); ordenarVector(puzzle,totalPiezas-1); mostrarVector(puzzle,totalPiezas-1); unsigned long piezaPerdida = calcularPiezaPerdida(puzzle,totalPiezas-1); printf("Falta la Pieza No. %lu\n",piezaPerdida); } while (1); return 0; } void poblarVector(unsigned long *A, unsigned long n) { unsigned long i; for (i = 0 ; i < n ; i++) scanf("%lu", &A[i]); } void mostrarVector(unsigned long *A, unsigned long n) { unsigned long i; printf("Piezas Encontradas = "); for (i = 0 ; i < n ; i++) { if (i == 0) printf("%lu",A[i]); else printf(" , %lu",A[i]); } printf("\n"); } void ordenarVector(unsigned long *A, unsigned long n) { unsigned long temp; unsigned long i; unsigned long k; for ( i = 0 ; i < n - 1 ; i++) for (k = i + 1 ; k < n ; k++) if( A[i] > A[k] ) { temp = A[i]; A[i] = A[k]; A[k] = temp; } } unsigned long calcularPiezaPerdida(unsigned long *A, unsigned long n) { unsigned m = n + 1; unsigned long sumaTodasLasPiezas = (m * (m+1)) / 2; unsigned long suma = sumaPiezasVectorRec(A,n-1); return sumaTodasLasPiezas - suma; } unsigned long sumaPiezasVectorRec(unsigned long *A , unsigned long ultPos) { if (ultPos == 0) return A[0]; return A[ultPos] + sumaPiezasVectorRec(A,ultPos-1); }
run
|
edit
|
history
|
help
0
A_141117_Euclides
B_141128_MatrizProducto
Lab 9 v0.8
CO Assignment 1 Question 1
WAP in C to convert decimal to binary
14th Feb Project
Lab 11
Bitex
Lab 7 v1.0
demo_strlen