Se encontraron 346 coincidencias

por daltomi
15/10/2019 4:20 am
Foro: Principiantes C/C++
Tema: Calculadora en C
Respuestas: 1
Vistas: 144

Re: Calculadora en C

Buenas. scanf suele dar mas problemas que soluciones :) y tienes que recurrir a "trucos" de formato para obtener resultados. Lo que yo generalmente hago es no usar scanf y en su lugar usar fgets + sscanf. Ejemplo: #include <stdio.h> #include <stdlib.h> #include <string.h> char *leer(void) { static c...
por daltomi
15/10/2019 3:54 am
Foro: C/C++ en General
Tema: Ordenar de mayor a menor elementos de un vector en C
Respuestas: 6
Vistas: 445

Re: Ordenar de mayor a menor elementos de un vector en C

Buenas. El intercambio entre mayor y menor debe hacerlo dentro del bucle for i. y utilizar i como indice. void ordenar_ejercito(int ejercito[MAX_EJERCITO], int cantidad_soldados){ int i,j; int maximo; int mayor; for (i = 0; i <(cantidad_soldados-1); i++){ maximo = i; for (j =i +1; j <cantidad_soldad...
por daltomi
11/10/2019 9:57 pm
Foro: Principiantes C/C++
Tema: Problema en C - Numeros aleatorios sin que se repitan
Respuestas: 2
Vistas: 152

Re: Problema en C - Numeros aleatorios sin que se repitan

Buenas. Una posible solución, creo que funciona. /* C99 */ #include <stdio.h> #include <stdlib.h> #include <time.h> #define RMAX 90 int main(void) { int r[RMAX] = {0}; srand(time(NULL)); for (int i = 0; i < RMAX; ++i) { r[i] = rand() % RMAX + 1; for (int j = 0; j < i; ++j) { if (r[i] == r[j]) { --i;...
por daltomi
07/07/2018 1:24 pm
Foro: Principiantes C/C++
Tema: Juego de las 8 reinas
Respuestas: 4
Vistas: 864

Re: Juego de las 8 reinas

Buenas.

Nota: se recomienda (y mucho) que la función srand debe llamarse una sóla vez, al inicio del programa.
Ya que time(NULL) devuelve el tiempo en segundos y la función colocar, que usa a srand, tiene muchos ciclos en ese segundo srand(time(NULL)) va a devolver la misma semilla.
+Info
por daltomi
07/07/2018 12:59 pm
Foro: C/C++ en General
Tema: comparar cadenas
Respuestas: 2
Vistas: 685

Re: comparar cadenas

Buenas. Puedes utilizar strstr o strcasestr #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { const char *s1 = "eluniversoesenorme"; const char *s2 = "universo"; if (strstr(s1, s2)) printf("'%s' es parte de '%s'\n", s2, s1); else printf("'%s' no es parte de '%s'\n", s2, s1)...
por daltomi
01/04/2018 8:32 pm
Foro: Principiantes C/C++
Tema: Alguien podria ayudarme a encontrar el error?
Respuestas: 6
Vistas: 1038

Re: Alguien podria ayudarme a encontrar el error?

El problema no es el tipo que lee sino que tiene que ver con un buffer interno de la librería estándar de C. En dicho buffer(espacio de memoria) queda el salto de línea (al presionar Enter) ('\n') y nadie lo consume. Al llamar a scanf se encuentra con el salto de línea y suceden cosas raras. Existen...
por daltomi
01/04/2018 6:27 pm
Foro: Principiantes C/C++
Tema: Alguien podria ayudarme a encontrar el error?
Respuestas: 6
Vistas: 1038

Re: Alguien podria ayudarme a encontrar el error?

Buenas.

El problema es que scanf no maneja los saltos de linea (Enter).
Prueba, por el momento, si colocando fgetc después de los 2 primeros scanf (el último ya lo tiene) soluciona el problema.
por daltomi
05/03/2018 11:00 am
Foro: C/C++ en General
Tema: Error Borland C++ (Thread 1 Stopped)
Respuestas: 7
Vistas: 1680

Re: Error Borland C++ (Thread 1 Stopped)

Buenas.
Nota que los índices en los arrays comienzan en 0 y terminan en N-1.

Código: Seleccionar todo

nbeb[0] = ""
...
nbeb[4] = ""
por daltomi
01/05/2017 7:57 pm
Foro: Principiantes C/C++
Tema: problema con una función
Respuestas: 1
Vistas: 768

Re: problema con una función

Buenas. Existe una función que permite separar lo que es un número y los que no lo son, se llama strtol . De hecho atoi es un alias a strtol(nptr, NULL, 10); el cual descarta los errores de formatos iguales a los que indicas. Un ejemplo que como podría utilizarse: #include <stdio.h> #include <stdlib...
por daltomi
01/05/2017 7:48 pm
Foro: C/C++ en General
Tema: Código compila pero no muestra resultado correcto.
Respuestas: 1
Vistas: 1102

Re: Código compila pero no muestra resultado correcto.

Buenas.

El error esta en cada printf (.., & r );, estas pasando un puntero como parámetro, debe ser: printf (..., r);
Nota además que para tipos float existen las funciones sinf, cosf, etc..

Saludos.
por daltomi
22/11/2016 3:23 pm
Foro: Principiantes C/C++
Tema: tokenizar cadena
Respuestas: 6
Vistas: 1912

Re: tokenizar cadena

El parche sería algo así (lo que se indica con <-(+) es nuevo): #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define MAX 100 bool tokenizer(char *s,char sep,char *token,int *aux); int main() { char str[MAX]={"Juan|Pedro|Pablo|Carlos"}, token[MAX] = {'\0'}; // <-(+) int aux=0; bool con...
por daltomi
22/11/2016 1:51 am
Foro: Principiantes C/C++
Tema: tokenizar cadena
Respuestas: 6
Vistas: 1912

Re: tokenizar cadena

¿Haz probado agregándole el token?:

Código: Seleccionar todo

Carlos|
por daltomi
20/11/2016 7:23 pm
Foro: Principiantes C/C++
Tema: tokenizar cadena
Respuestas: 6
Vistas: 1912

Re: tokenizar cadena

Buenas. Tienes un problema con la precedencia de operadores en *aux++ ; el compilador lo interpreta como: *(aux++) . Es decir, el operador de post-incremento (A++) precede/(tiene prioridad) al operador de indirección (*A). Tienes 2 soluciones: Usar paréntesis (recomendado ante cualquier duda): (*aux...
por daltomi
18/09/2016 4:23 am
Foro: Principiantes C/C++
Tema: Problema con typedef enum y un Switch
Respuestas: 1
Vistas: 934

Re: Problema con typedef enum y un Switch

Buenas. Sólo indica el valor de 'opcion' con el nombre de la constante que quieras, por ejemplo, operaciones opcion = Suma; No es necesario indicar todos los valores para cada nombre de la enumeración. Por defecto el primer nombre inicia en 0 a menos que se indique lo contrario. enum [cero, uno, dos...
por daltomi
17/09/2016 6:21 pm
Foro: Principiantes C/C++
Tema: Cómo hacer para ingresar sólo "N" cantidad de dígitos
Respuestas: 2
Vistas: 1043

Re: Cómo hacer para ingresar sólo "N" cantidad de dígitos

Buenas. Te muestro un ejemplo, en el cual se permite ingresar como contraseña caracteres en español. Para esto habilita el ingreso de texto internacional, es decir, otro además del inglés. Es necesario utiliza el tipo wchar_t y funciones afines: wscanf, wprintf, getwchar. #include <stdio.h> #include...