|
Mostrar Mensajes
|
Páginas: 1 2 [3] 4
|
23
|
Programación / Programación C/C++ / Re: El "sizeof" para saber el tamaño del arreglo no me funciona
|
en: 4 Abril 2015, 15:53 pm
|
Hola, int main() { int laiArreglo[] = {5,8,2,3,1,4,6,9,2,10}, liElemento;
printf("\nIngrese el elemento: "); scanf("%d", &liElemento); MostrarConjunto(laiArreglo); //Mostramos el arreglo return 0; }
void MostrarConjunto(int laiArreglo[]) { int liContador;
printf("\nCONJUNTO: ");
for (liContador = 0; liContador < sizeof (laiArreglo) / sizeof (int); liContador++) { printf("%d ", laiArreglo[liContador]); } }
Este es el código.... Espero puedan ayudarme
|
|
|
24
|
Programación / Programación C/C++ / El "sizeof" para saber el tamaño del arreglo no me funciona
|
en: 4 Abril 2015, 07:11 am
|
int liContador, laiArreglo[] = {5,8,2,3,1,4,6,9,2,10};
printf("\nCONJUNTO: ");
for (liContador = 0; liContador < sizeof (laiArreglo) / sizeof (int); liContador++) { printf("%d ", laiArreglo[liContador]); }
Con ese código solamente me muestra el 5. Anteriormente tenía laiArreglo[10] y me funcionaba correctamente. Al hacer esto laiArreglo[] = {5,8,2,3,1,4,6,9,2,10}, ya me dejo de funcionar. El FOR solo llega hasta 1 y no hasta 10. Por qué?.
|
|
|
26
|
Programación / Programación C/C++ / Alguna idea para salir de este FOR y printear un mensaje?.. en C
|
en: 1 Abril 2015, 06:14 am
|
int liContador1, liContador2, liElse = 0;
for (liContador1 = 1; liContador1 <= liNumeroB; liContador1++) { for (liContador2 = liContador1 + 1; liContador2 <= liNumeroB; liContador2++) { if (NumerosAmigos(liContador1, liContador2)) printf("\n%d, %d", liContador1, liContador2);
else liElse++; } }
if (liElse != 0) printf("\nLos n%cmeros no son amigos.\n", 163);
Estoy haciendo un programa para buscar los números amigos anteriores a un valor dado. El programa printea la pareja de números encontrados pero, necesito mostrar un mensaje si no existe ninguna pareja de números amigos. El problema es que no se me ocurre ninguna forma de hacerlo. He intentado con BREAK, CONTINIUE, CONTADORES.. Ahora mismo tengo: fue lo último que estaba probando. Alguien tiene alguna idea sobre cómo puedo hacer para resolver esto?. Saludos y gracias a todos por ayudarme!.
|
|
|
27
|
Programación / Programación C/C++ / Re: Valores repetidos en un arreglo en C
|
en: 31 Marzo 2015, 03:55 am
|
Hola.
Asumiendo que ingresamos estos datos: 8 4 8 5 4, el resultado debe ser 8 4 -1 5 -1. O sea, si se encuentra un valor repetido, se le reemplaza por -1.
8 4 8 5 4 8 4 -1 5 -1
y mi código no lo hace, algo estoy haciendo mal. No sé que modificaciones hacerle, estoy en blanco, podrias ayudarme?.
|
|
|
28
|
Programación / Programación C/C++ / Valores repetidos en un arreglo en C
|
en: 31 Marzo 2015, 00:37 am
|
Ejemplo: Si el arreglo original es 8 4 8 5 4, entonces el arreglo se transformará a: 8 4 -1 5 -1 y se devolverá como cantidad de repeticiones 2. //Declaración de variables int liN, liContador, laiArreglo[10]; //Entrada de datos do { printf("Cantidad de componentes del arreglo: "); scanf("%d", &liN); if (liN <= 0) printf("\n\tError!, debe ingresar un valor mayor que 0.\n\n"); } while (liN <= 0); for (liContador = 0; liContador < liN; liContador++) { do { printf("Valor #%d: ", liContador + 1); scanf("%d", &laiArreglo[liContador]); if (laiArreglo[liContador] < 0) printf("\n\tError!, debe ingresar un valor mayor que 0.\n\n"); } while (laiArreglo[liContador] < 0); } //Procesamiento int liContador1, liContador2; for (liContador1 = 0; liContador1 < liN - 1; liContador1++) { for (liContador2 = liContador1 + 1; liContador2 < liN; liContador2++) { if (laiArreglo[liContador2] == laiArreglo[liContador1]) laiArreglo[liContador2] = -1; } } //Salida de datos printf("\nResultado: "); for (liContador = 0; liContador < liN; liContador++) { printf("%d", laiArreglo[liContador]); if (liContador < liN - 1) printf(", "); }
Como pueden ver, no logro hacerlo, estoy vuelto loco y ya no se que hacer Mod: Código resaltado con etiquetas GeSHi para que sea más visible
|
|
|
29
|
Programación / Programación C/C++ / Re: Ayuda con Ternas Pitagóricas en C
|
en: 29 Marzo 2015, 18:23 pm
|
for (liContador1 = 1; liContador1 <= liN; liContador1++) { for (liContador2 = liContador1 ; liContador2 <= liN; liContador2++) { for (liContador3 = 1; liContador3 <= liN; liContador3++) { TernasPitagoras(liContador1, liContador2, liContador3); } } }
Hize un cambio (marcado en negrita) y todavia me sale algunos repetidos.
|
|
|
|
|
|
|