elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programando en Linux,Plantillas!!!No funciona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programando en Linux,Plantillas!!!No funciona  (Leído 1,951 veces)
CATBro

Desconectado Desconectado

Mensajes: 156


Envidio la manera de pensar de Caboose


Ver Perfil
Programando en Linux,Plantillas!!!No funciona
« en: 21 Mayo 2012, 06:03 am »

Buenas noches gente ando practicando C++ en Debian 6, utilizando Mono como IDE, estoy en el tema de las plantillas.
La plantilla que hice es para saber la cifra mayor de tres valores introducidos por el teclado y mostralos por pantalla aqui esta el codigo de la plantilla

Código:
   
/ Definicion de la plantilla maximo

template < class T >
T maximo ( T valor1, T valor2, T valor3 )
{
T valorMaximo = valor1;

if ( valor2 > valorMaximo )
valorMaximo = valor2;

if ( valor3 > valorMaximo )
valorMaximo = valor3;

return valorMaximo;
}// fin de la plantilla maximo

Codigo cliente
Código:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include "maximo.h"

int main (int argc, char *argv[])
{
int int1, int2, int3;

cout<< "Introduzca tres valores enteros: ";
cin >> int1, int2, int3;

cout << "El valor int de maximo es: " << maximo( int1, int2, int3 );

double double1, double2, double3;

cout << "\n\nIntroduzca tres valores double: ";
cin  >> double1, double2, double3;

cout << "El valor double de maximo es: " <<maximo(double1, double2, double3)<<endl;
return 0;
}// fin de main


Compila el programa, en tiempo de ejecucion esto pasa:

Introduzca tres valores enteros: 1 2 3
El valor int maximo es: 134515225       <----------------------------------------------XD!!!

Introduzca tres valores double: El valor double de maximo es: 2


Alguien sabe porque pasa esto??? Estuve calando con varios numeros pero los resultados varian pero igual de incorrecto.

Saludos



« Última modificación: 21 Mayo 2012, 06:24 am por CATBro » En línea

exel

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: Programando en Linux,Plantillas!!!No funciona
« Respuesta #1 en: 21 Mayo 2012, 07:10 am »

Código:
cin >> int1, int2, int3;

 No tengo muchos conocimientos de C++, pero tengo entendido que en realidad es asi:

Código:
cin >> int1>>int2>>int3;


En línea

CATBro

Desconectado Desconectado

Mensajes: 156


Envidio la manera de pensar de Caboose


Ver Perfil
Re: Programando en Linux,Plantillas!!!No funciona
« Respuesta #2 en: 22 Mayo 2012, 19:21 pm »

XD Tienes toda la razon no me di cuenta muchas gracias, una pregunta mas, cuando se da una violacion de segmento???

Saludos
En línea

exel

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: Programando en Linux,Plantillas!!!No funciona
« Respuesta #3 en: 25 Mayo 2012, 07:13 am »

 Pues la violacion de segmento sucede cuando intentas acceder a una direccion de memoria no permitida. Comunmente esto sucede cuando te olvidas de especificar la referencia a una direccion como con el uso de scanf() en el cual muchos se olvidan del simbolo apuntador &; si se olvida el &, al compilar la funcion scanf() recibira el valor de la variable y no su direccion.
 Cuando se es nuevo, es comun que se tenga errores al usar punteros(que es la forma de manejar direccionaiento a memoria en C). Pero lo malo es que muchas veces el compilador ni siquiera te advierte.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cuales son las diferencias de windows y linux programando bluetooth?
Hacking Mobile
Belial & Grimoire 1 3,941 Último mensaje 5 Marzo 2009, 08:37 am
por SirGraham
Programando en Linux con C
Programación C/C++
deskicio83 0 1,785 Último mensaje 4 Octubre 2010, 12:20 pm
por deskicio83
Utilización de FSTAT (programando C Linux)
Programación C/C++
joe2011 3 3,159 Último mensaje 22 Septiembre 2013, 19:03 pm
por joe2011
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines