• Domingo 5 de Mayo de 2024, 12:29

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ProfesorX

Páginas: 1 ... 26 27 [28] 29 30 ... 32
676
C# / Re: Consulta Sobre Rutas De Acceso
« en: Viernes 18 de Abril de 2008, 21:36 »
Es raro, porque a mi el C# Express nunca me ha mostrado esos mensajes, y yo tampoco tengo esas carpetas, y ademas no deberia pedirlas, ya que C# no maneja las librerias como C++, y ese mensaje parece mas de C++ que de C#.

Quizas sea una mala instalacion, prueba desinstalando y volviendo a instalar el C#, a ver si eso elimina el problema.

Saludos :hola:

677
C# / Re: Liberar Un Fichero De Texto.
« en: Jueves 17 de Abril de 2008, 19:07 »
Podrias utilizar System.IO.File.CreateText(), pero eso te borra todo el archivo, asi que pienso que la solucion seria usar dos archivos, uno lo lees, y luego pasas el contenido que necesites de ese al segundo archivo, despues cerrarias el primero, lo borras, y al segundo le pones el nombre del primer archivo.

678
C# / Re: Liberar Un Fichero De Texto.
« en: Miércoles 16 de Abril de 2008, 18:42 »
Tal vez la forma en que lo haces no es la correcta, prueba utilizando System.IO. File.OpenText y System.IO.File.AppendText como en el siguiente ejemplo:

Código: Text
  1.  
  2.         static void Main(string[] args)
  3.         {
  4.             StreamReader sr = File.OpenText("videos.txt");
  5.             if (sr != null)
  6.             {
  7.                 while (!sr.EndOfStream)
  8.                 {
  9.                     string linea = sr.ReadLine();
  10.                     Console.WriteLine(linea);
  11.                 }
  12.             }
  13.             sr.Close();
  14.  
  15.             StreamWriter sw = File.AppendText("videos.txt");
  16.             sw.WriteLine("Hola Mundo");
  17.             sw.Close();
  18.             Console.ReadKey(true);
  19.         }
  20.  
  21.  

679
C/C++ / Re: Duda Con String's,como Parámetro¡
« en: Martes 15 de Abril de 2008, 20:14 »
A ver, examine un poco mas tu problema, y me parece que tal vez hay un error en tu logica, y te falta entender como maneja C/C++ las cadenas internamente.

En C/C++, todas las cadenas deben terminar con el caracter nulo '\0', las funciones de la libreria estandar de C/C++ esperan que la cadena termine con nulo, pues eso les indica en donde termina la cadena, si no encuentran el caracter nulo, siguen leyendo en la memoria hasta que encuentren el caracter nulo, con lo cual puedes obtener resultados inesperados si la cadena no termina en nulo.

Ahora bien, corrigeme si me equivoco, pero supongo que lo que tu tratas de hacer, es dividir la cadena en dos, tomando tu ejemplo quieres dividir "hola/adios" en dos, tomando solo el hola, y utilizando el caracter diagonal como separador, entonces si encuentras el separador, dejas de pasar el contenido de una cadena a la siguiente cadena. Eso esta muy bien, pero lo unico que te faltaria es terminar tu cadena con un nulo, para que el resto de las funciones sepan en donde termina tu cadena

Código: Text
  1.  
  2. void FuncionExtraer(){
  3. int i=0;
  4. while (cadena[i] !='/')
  5. nuevacadena[i]=cadena[i];
  6. i++;
  7. }
  8.  
  9. /// Con esto le indicas a C/C++ donde termina tu cadena
  10. nuevacadena[i] = '\0';
  11.  
  12.  

Ahora, si no es eso lo que quieres, explica con mas detalle.

Saludos :hola:

680
C++ Builder / Re: [c++/recursividad] Programadores!!
« en: Martes 15 de Abril de 2008, 19:33 »
Si ya tienes la funcion de suma recursiva, solo tienes que dividir la suma entre el numero de elementos, la suma es lo unico (en este caso) que se puede hacer recursivamente para resolver el problema, no hay otra forma de hacerlo, pues el dividir de manera recursiva, te daria un resultado diferente al promedio.

Saludos :hola:

681
C/C++ / Re: Duda Con String's,como Parámetro¡
« en: Domingo 13 de Abril de 2008, 21:44 »
No se si entendi, no es acaso esto lo que quieres?

Código: Text
  1.  
  2. void Funcion2(char nuevacadena[])
  3. {
  4. }
  5.  
  6.  

682
C/C++ / Re: Operaciones Con Varios Sistemas De Numeros
« en: Sábado 12 de Abril de 2008, 00:55 »
Cita de: "Jejasa"
Perdona Si dije algo malo, pero es que eso de que "Lee un libro o Toma Un curso De Programación" no me pareció correcto,
de todas maneras disculpa.
Pues de hecho el consejo no es malo, pues el que uses goto, indica que no has tomado o leido un buen libro de programacion, en la programacion estructurada el uso de goto no se aconseja, pues genera lo que se llama codigo spaghetti (o sea, un codigo que tiene tantos goto (saltos) que es imposible o casi imposible seguir el curso de ejecucion).

Lo que hiciste lo puedes hacer sin goto, es cosa de que estructures tu programa de otra manera.

Y bueno, normalmente no hacemos codigos, pero en vista de que se ve que no tienes ni idea de donde empezar, te pondre una ayuda (diria una super ayuda), un codigo que convierte de decimal a binario, con esto supongo que podras hacer todo lo demas. Si no eres capaz de hacerlo, pues lamento decirte que te equivocaste de carrera, pues la programacion requiere mente analitica y capacidad para resolver problemas, y si no puedes hacer problemas simples, mucho menos podras resolver un problema que te den en una empresa una vez que ya estes trabajando. Espero no me lo tomes a mal.

Código: Text
  1.  
  2. void ConvertirDecimalABinario(int num, char binario[])
  3. {
  4.   char temp[80];
  5.  
  6.   int i = 0;
  7.  
  8.   /// Repetir la division entre 2 hasta que el cociente sea cero
  9.   while ((num / 2) != 0)
  10.   {
  11.     /// Toma el residuo de la division, lo convierte a caracter,
  12.     /// y lo guarda en la cadena
  13.     temp[i] = (num % 2) + 48;
  14.  
  15.     /// Obtiene el cociente de la division, que sera el siguiente
  16.     /// numero a dividir.
  17.     num = num / 2;
  18.  
  19.     /// Para llevar el control de cuantos numeros hay en la cadena
  20.     i++;
  21.   }
  22.  
  23.   /// Obtengo el ultimo residuo
  24.   temp[i] = (num % 2) + 48;
  25.  
  26.   /// Agrego el fin de cadena
  27.   temp[i+1] = '\0';
  28.  
  29.   /// Ciclo para invertir la cadena, pues los digitos quedan invertidos
  30.   int j = 0;
  31.   for (i = strlen(temp) - 1; i >= 0; i--)
  32.   {
  33.     binario[j] = temp[i];
  34.     j++;
  35.   }
  36.  
  37.   /// Agrego el fin de cadena
  38.   binario[j] = '\0';
  39.  
  40. }
  41.  
  42.  

Saludos :hola:

683
Pascal / Re: Que Sucede?
« en: Viernes 11 de Abril de 2008, 02:07 »
Cita de: "lizzmdq"
Pero siempre el numero a adivinar es 100  :huh:

por que sera?
 
La vez pasada qie vi tu codigo no me habia dado cuenta, pero ahora que lo mencionas, el error esta en la forma que obtienes el numero a adivinar, usas un ciclo de 1 a 100, hasta que se pulse una tecla, pero no tomas en cuenta que el ciclo se termina tan rapido (en milesimas de segundo probablemente), que por lo tanto cuando tu pulsas, el numero i ya vale 100.

Mejor utiliza una funcion que te genere un numero aleatorio, no recuerdo en pascal, pero supongo que sera random, checa en la ayuda, o busca en google "random pascal"

Saludos :hola:

684
Pascal / Re: Que Sucede?
« en: Martes 8 de Abril de 2008, 20:51 »
Los if no estan bien anidados, revisalos.

685
C/C++ / Re: Funcion O Procedimiento
« en: Martes 8 de Abril de 2008, 01:04 »
Es cierto, en algunos lenguajes se le llama funcion a aquellas subrutinas/subprogramas que regresan un valor, y procedimientos a todos los demas. En C/C++ todas se llaman funciones.

Ahora tu pregunta, como hacer para que una funcion regrese dos valores? Usa parametros. Si no sabes que son parametros, busca en algun libro/curso de programacion, ahi viene la respuesta., veras que existen por valor y por referencia, pero prefiero no quitarte la emocion de descubrir que siginifica eso, por ti mismo ;)

Busca, lee, analiza....

Saludos :hola:

686
C/C++ / Re: Operaciones Con Varios Sistemas De Numeros
« en: Jueves 3 de Abril de 2008, 05:46 »
Hay una forma facil de leer el numero con scanf, el problema es que no valida que el numero sea correcto segun la base (o sea un 9 en base octal por ejemplo), ni tampoco funciona con binarios:

Código: Text
  1.  
  2. // Lee un numero en octal
  3. scanf("%o", &valor);
  4.  
  5. // Lee un numero en hexadecimal
  6. scanf("%x", &valor);
  7.  
  8.  

Asi que de todas formas, como dije, tienes que hacer conversiones.

687
C/C++ / Re: Operaciones Con Varios Sistemas De Numeros
« en: Jueves 3 de Abril de 2008, 05:28 »
Cita de: "Jejasa"
Es decir, por ejemplo quiero sumar dos números binarios, lo que tengo que hacer es primero convertir esos números binarios a decimales, hacer la operación y luego volverlos a convertir a binarios, y asi con los otros sistemas de números ?
Si

688
C/C++ / Re: Operaciones Con Varios Sistemas De Numeros
« en: Jueves 3 de Abril de 2008, 03:33 »
Tu mismo lo dijiste, todas las operaciones se hacen en decimal (aunque internamente la computadora lo hace en binario, pero esa es otra historia :)).

Asi que lo que tienes que hacer es crear una funcion que convierta de base "x" a decimal, y de decimal a base "x", supongo que la conversion la sabes hacer, conversiones de sistemas se ve en el primer semestre de cualquier carrera de informatica, si no, busca en la wikipedia sistema binario, sistema octal y sistema hexadecimal.

Resumiendo de nuevo

1. Lees los numeros (como cadena, en el caso de hexadecimal)
2. Validas segun la base
3. conviertes de base "x" a decimal (a menos que ya sea decimal).
4. haces la operacion.
5. conviertes de decimal a base "x".

689
C/C++ / Re: Operaciones Con Varios Sistemas De Numeros
« en: Miércoles 2 de Abril de 2008, 19:49 »
Pediste una guia asi que aqui va:

Para la lectura de variables usa scanf, o si es cadena gets.
Para la eleccion de los menus usa switch/case.
Para que no permitas valga la redundancia numeros no permitidos (esto dependera de la base) valida las entradas (pista, usa do..while)
Para las operaciones, simplemente hazlas, ejemplo: suma = a+ b;

Cuando tengas algo hecho, regresa y posteas tu codigo, y podremos ayudarte mas, pero antes demuestra que has hecho algo.

Porque no se hacen tareas ;)

Saludos :hola:

690
C/C++ / Re: Cargar Una Constante En Uan Variable-principiante
« en: Miércoles 2 de Abril de 2008, 19:40 »
Como PREDEFINIDO es una cadena, utiliza strcpy/strncpy.

Código: Text
  1.  
  2. char variable[50];
  3.  
  4. strcpy(variable, PREDEFINIDO);
  5.  
  6.  

Con cualquier otro tipo de variable que no sea cadena un = sirve.

Saludos :hola:

691
Pascal / Re: Los Array
« en: Martes 1 de Abril de 2008, 21:16 »
No se porque dices que no habias encontrado nada, el compañero F_Tanori te lo encontro rapido, y yo tambien hice la prueba, y ese enlace mismo enlace me salio en la primera pagina de resultados de google, en 2 segundos.

Como dije antes, googlea, no quieras que te lo den todo facil.

692
C/C++ / Re: Problema Con Un Case
« en: Martes 1 de Abril de 2008, 21:11 »
Pues te sobra un parentesis y un while, en el primer case:
Código: Text
  1.  
  2.  }
  3. while(m>5||n>5);
  4.  
  5.  

Aunque sospecho que lo que quieres es validar la entrada, en cuyo caso te falta un "do {" y deberias tener algo como:

Código: Text
  1.  
  2.             do
  3.             {
  4.                 printf("cuantos renglones y columnas quieres para las matrizes (max 5x5 y separados por un espacio): ");
  5.                 scanf("%i%i",&m,&n);
  6.                 clrscr();
  7.                 if (m>5)
  8.                 {
  9.                     gotoxy(5,7);
  10.                     printf("­Error: el renglon no debe ser mayor a 5");
  11.                 }
  12.                 if (n>5)
  13.                 {
  14.                     gotoxy(5,9);
  15.                     printf("­Error: la columna no debe ser mayor a 5");
  16.                 }
  17.             }
  18.             while (m>5||n>5);
  19.  
  20.  

Aunque recomendaria que validaras dato por dato, y no los dos al mismo tiempo, porque si al validar uno por uno, si el usuario solo se equivoca en uno, repites ese uno, en cambio, validando los dos al mismo tiempo, si se equivoco en el primero y no en el segundo, haces que vuelva a leer los dos, y tal vez la siguiente se equivoque en el segundo y no en el primero.

Otro consejo, indenta en tu codigo, tus condiciones y tus ciclos, eso hace que sea mas facil ver a simple vista si omites o escribes de  mas un corchete o alguna otra cosa, como en este caso.

Saludos :hola:

693
Pascal / Re: Los Array
« en: Martes 1 de Abril de 2008, 00:15 »
Busca (googlea) hay muchisima informacion si buscas bien

694
C/C++ / Re: Problemas Kon El Palindromo
« en: Viernes 28 de Marzo de 2008, 22:31 »
No existe una funcion asi, la tienes que crear.

el siguiente fragmento te elimina (borra) los espacios de la cadena, y la guarda en otra cadena.

Código: Text
  1.  
  2.     int i = 0, j = 0;
  3.     // Ejecuta el ciclo mientras no sea el fin de la cadena
  4.     while (cad1[i] != '\0')
  5.     {
  6.         // Si no es un espacio, copia el caracter en la cadena 2
  7.         if (cad1[i] != ' ')
  8.         {
  9.             cad2[j] = cad1[i];
  10.             j++;
  11.         }
  12.         i++;
  13.     }
  14.     // Coloca el fin de cadena al final de la cadena
  15.     cad2[j] = '\0';
  16.  
  17.  

695
C# / Re: Openfiledialog En Directx 9
« en: Jueves 27 de Marzo de 2008, 19:19 »
Nunca lo he hecho, pero me parece que tendrias que hacer un formulario y utilizar el common dialog control.

696
C/C++ / Re: Copiar Un Archivo Excel En C
« en: Jueves 27 de Marzo de 2008, 19:15 »
utiliza rb/wb para abrir archivos binarios, en lugar de rt/wt, que es para archivos de texto, y fread/fwrite en lugar de fgetc/fputc

697
Pascal / Re: Problema.
« en: Jueves 27 de Marzo de 2008, 18:52 »
Para empezar, tienes varios errores de sintaxis, en algunas partes pones intenger en lugar de integer, en otra parte pones Wirteln en lugar de Writeln, y finalmente, defines la variable porc como string, cuando en realidad deberia ser de tipo real.

Esos son los errores que vi a simple vista, quizas haya mas, pero no tengo mi compilador de pascal para probarlo.

Saludos :hola:

698
Pascal / Re: Cliente/servidor
« en: Miércoles 26 de Marzo de 2008, 18:45 »
oye, cambiandote el tema, no podrias escribir un poco mejor? he visto tus mensajes pero casi no se te entiende, y se ve muy mal, recuerda que no estas mandando mensajes a celular.

 Ejemplos:
Citar
Oye como ago
Oye como hago

Citar
I otra cosa
Y otra cosa

Citar
acer librerias
hacer librerias

Citar
i se v k ai una rulando pro ai
y se ve que hay una rulando por ahi

y le podria seguir, pero no acabaria

Esta bien si se te pasa un error o dos de ortografia (nadie es perfecto) pero escribir mal a proposito y con tantas faltas  :lightsabre:

No seas hoygan, por favor, si no sabes que es, pasate por aqui:
http://eldiegoj.blogspot.com/2007/05/el-fenmeno-hoygan.html

Saludos :hola:

699
VB .NET / Re: Busqueda En Archivos .crs .crv .ii .rrs .rss
« en: Martes 25 de Marzo de 2008, 18:38 »
Si aparecen caracteres raros, quiere decir que no es un archivo xml sino un archivo binario, pues los archivos xml son de texto.

Ahora, sin saber con que programa fueron hechos y en que formato esta, es dificil que puedas leer su contenido. Debes averiguar con que programa fueron hechos, y buscar informacion sobre el formato, si es que la hay, claro.

Saludos :hola:

700
C/C++ / Re: Generar Un Nuimero (float) Aleatorio
« en: Jueves 20 de Marzo de 2008, 20:52 »
Muy raro, porque ese error significa que no estas incuyendo la libreria, ignoro a que se deba entonces.

Hay otra forma de generar numeros aleatorios, en un rango especificado:

Código: Text
  1.  
  2. // Genera numeros aleatorios entre 1 y 100
  3. m[k][l]= rand() % 100 + 1;
  4.  
  5. // Genera numeros aleatorios entre 20 y 80
  6. m[k][l]= rand() % 80 + 20;
  7.  
  8.  

Aun asi, he analizado tu progama y creo que tu problema esta en la logica, y tambien en que la funcion rand() no genera aleatorios verdaderos, sino pseudoaleatorios, esto quiere decir que a la larga (o sea, en varias iteraciones, como en tu caso, que al ser de 50x50, iteras 2500 veces), estos numeros se repiten. Y ademas veo que tu calculas 2500 numeros, y luego sumas todos, y guardas esa suma de 2500 numeros en otra matriz, y lo repites otras 2500 veces, asi que me parece logico que como los aleatorios a la larga se repiten, y luego los sumas, obtienes sumas parecidas, y para empeorar las cosas, la funcion rand() solo genera numeros entre 0 y 32768, asi que pues aunque quieras obtener mas variedad de numeros, no la hay.

Si es demasiado importante para ti que genere aleatorios mas "aleatorios" valga la redundancia, entonces tienes que buscar otras librerias en C/C++, o hasta en ensamblador, que generen mejores aleatorios, en lugar de la libreria que viene por defecto en el compilador. O tambien existen listas de numeros aleatorios, podrias ponerlas en un archivo de texto, y alimentar tu porgrama con ellas.

Bueno, son solo ideas.

Saludos :)

Páginas: 1 ... 26 27 [28] 29 30 ... 32