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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9
71  Sistemas Operativos / GNU/Linux / Creo que me mande una cag. en: 5 Febrero 2013, 00:26 am
Buenas, hace poco que uso ubuntu linux y soy nuevo en este sistema operativo , lo que pasa es que hice lo siguiente..

puse en la terminal
Código
  1. sudo nautilus
  2.  

Fui a la carpeta etc y hice click derecho y modifique los permisos al maximo , y ahora cuando lo quiero reparar me dice que no soy propietario para modificar esos permisos..

cuando trato de usar el sudo en la terminal , el resultado es el sig

Código:
sudo: /etc/sudoers es escribible por todos
sudo: no se encontraron fuentes sudoers válidas, saliendo
sudo: no se puede inicializar la política de plugin

Alguien puede ayudarme , gracias de antemano (:  ;D
72  Programación / Programación C/C++ / Re: Problema con asignación dinamica de memoria. en: 4 Febrero 2013, 00:56 am
Citar
No había leído el enunciado del problema, no hace falta utilizar memoria dinámica, simplemente puedes ir sumando las notas y llevar un contador de las notas que ha ido introduciendo y luego sacas la media con eso.

es verdad.solo lo hice de practica..

Gracias por sus ayudas.. me sirvieron . UN SALUDO !
73  Seguridad Informática / Bugs y Exploits / Re: Problema con pattern_create.rb en: 4 Febrero 2013, 00:22 am
proba pasandole los argumentos asi..

pattern_create.rb 5000 A B C
74  Programación / Programación C/C++ / Re: Problema con asignación dinamica de memoria. en: 3 Febrero 2013, 04:19 am
Una cosa, en C++ tienes el operador new/delete para reservar dinámicamente la memoria, no necesitas el alloc:

Código
  1. notas = new float[contador];

Gracias .. se que se escapa del tema pero... si uso

Código
  1. notas=new float[contador];
  2. notas=new float[contador*2];


el segundo new funcionaria como realloc ? como haria la reasignación de memoria cuando ya invoque a new antes ?

saludos
75  Programación / Programación C/C++ / Re: Problema con asignación dinamica de memoria. en: 3 Febrero 2013, 01:52 am
Mi problema se soluciono . muchisimas gracias (:
76  Programación / Programación C/C++ / Re: Problema con asignación dinamica de memoria. en: 3 Febrero 2013, 01:35 am
Estás reservando un elemento menos en cada iteración:

Código
  1. notas=(float*)realloc(notas,sizeof(float)*contador);

En la primera iteración contador es cero estás reservando cero bytes... deberías hacer "contador + 1" ya que necesitas reservar espacio para contador+1 elementos.
Perfecto gracias , pero aunque a contador lo inicialize en 1 como acabo de hacer, en vez de a los 5 , a las 4 notas surge el siguiente error..

*** glibc detected *** /home/mmokk/Escritorio/Programacion/dinamico: realloc(): invalid next size: 0x08b820a8 ***
77  Programación / Programación C/C++ / Problema con asignación dinamica de memoria. en: 2 Febrero 2013, 23:44 pm
Código:
//includes
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
//globales
struct alumno
{
string nombre;
string apellido;
};
struct alumno info;
//prototipo de funciones

//funcion main



int main()
{
float aux=0;
int contador=0;
float *notas=NULL;


cout<<"Nombre del alumno : "  ; cin>>info.nombre;
cout<<endl<<"Apellido del alumno : " ; cin>>info.apellido;
cout<<endl;
cout<<"Ingrese las notas y presione entrar,para terminar el ingreso de datos use 0.."<<endl;
do
{
cout<<"nota numero " << contador+1 << " : " ;cin>>aux;
notas=(float*)realloc(notas,sizeof(float)*contador);
notas[contador]=aux;
contador++;
}
while(aux!=0);


free(notas);
}

estaba haciendo programa , el siguiente :

Citar
Escriba un programa que lea los datos de un alumno:nombre, apellido, y una lista de calificaciones correspondiente a todos sus exámenes finales (se desconoce a priori el número de exámenes rendidos). El programa debe calcular el promedio del alumno en la carrera en informarlo en pantalla.

al introducir mas de 5 notas, me tira error de ...

*** glibc detected *** /home/mmokk/Escritorio/dinamico: realloc(): invalid next size: 0x08fc30a8 ***

lei que cuando el puntero es NULL , la funcion realloc funciona como malloc, después cuando el puntero tiene asignada una direccion de memoria que apunta a la memoria , después de 5 notas sale el error descrito arriba.

Compilo bajo ubuntu linux con g++ ..

Alguien puede ayudarme ?.

Gracias de antemano  :P
78  Foros Generales / Foro Libre / Sindrome de autoencierro. en: 2 Febrero 2013, 03:38 am


xD
79  Programación / Programación C/C++ / Re: Ayuda! Validacion de Datos en Ordenamiento. en: 2 Febrero 2013, 01:13 am
Si con el if obligas a hacer un continue, entonces el default del switch no tiene sentido ya que nunca va a entrar ahi


Saludos
Si tiene sentido , juega el papel de verificar que el numero de opcion sea el correcto .
El if- continue , solo verifica que aya entrado un dato numerico y no un caracter.
saludos.
80  Programación / Programación C/C++ / Re: Ayuda! Validacion de Datos en Ordenamiento. en: 1 Febrero 2013, 22:53 pm
Es redundante colocar el break ahí, la aplicación simplemente va a seguir con su ejecución normal, esto se debe a que cuando se cumple uno de los casos dentro del switch la aplicación continua su ejecución secuencial y como podemos observar que el caso "default' es el último no hace falta colocar un break para romper con la estructura de control.

Tienes razón no influye en nada.. perdon por lo anterior..

Así quedaría el codigo arreglado , lo unico que hice fue cambiar la variable x (int) , por una variable tipo char , para asi puedo comprobar los datos ingresados con la tabla ascii y verificar si el dato ingresado es un numero o no.

Codigo :


#include <iostream>
#include <stdio.h>
#include<windows.h>
#define MAX 10
using namespace std;
 
 
void burbuja();
void seleccion();
void salir();
 
main(void)
 
{
 
system("color 0A"); //COLOR PARA LA CONSOLA
 
int seguir=1;
char x;
  
 
cout<<endl<<"\t##################################################################";
cout<<endl<<"\t#                    METODOS DE ORDENAMIENTO                     #";
cout<<endl<<"\t#            METODO DE LA BURBUJA Y SELECCION DIRECTA            #"; //PORTADA DEL PROMAGRA!
cout<<endl<<"\t#                              IS5D-C                            #";          
cout<<endl<<"\t##################################################################"<<endl;
cout<<endl;
cout<<endl;

do // COMIENZO DEL CICLO REPETITIVO DO - WHILE
{
cout<<endl<<"\t\t******************* M E N U ******************";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     1.- Ordenamiento por Metodo Burbuja    *";
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     2.- Ordenamiento por Metodo Seleccion  *";  //MENU DEL PROGRAMA!
cout<<endl<<"\t\t*                                            *";
cout<<endl<<"\t\t*     3.- Salir                              *";
cout<<endl<<"\t\t**********************************************";
cout<<endl;
cout<<endl;
 
cout<<endl<<">> ELIGE UNA OPCION: ";                              //PEDIR OPCION DEL MENU!
cout<<endl<<"   -------------------> ";
cin>>x;
if(x<48 || x>57) /* si es un caracter y no un numero vuelve al do*/
{
    cout<<"Un numero porfavor.."<<endl;
    continue;
}    

cout<<endl<<endl;
  
            

 
 
switch (x){
    
case '1':burbuja(); /*recuerda va entre ' ' , estamos hablando de char*/
break;
case '2':seleccion();
break;
case '3':
seguir = 0;
break;
 
 
default: cout<<"ERROR, OPCION INVALIDA.."<<endl; //OPCION INVALIDA.
}

if (seguir!=0)
{
cout <<endl<< "DESEA CONTINUAR??  SI - PRESIONAR 1 ,  NO - PRESIONAR 0 ";
cin >> seguir;
}
}while (seguir==1);   //FIN DEL BUCLE DO - WHILE
cout<<endl;
system("PAUSE");
}

 
void burbuja()
{
int I,N,Aux,J;
int V[10];
 
 
 
cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)
{
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V;
}
for (I=0; I<N-1; I++)
for (J=0; J<(N-1)-I; J++)
if (V[J]>V[J+1])
{
Aux=V[J];
V[J]=V[J+1];
V[J+1]=Aux ;
}
 
cout<<endl<<"[ NUMEROS ORDENADOS MEDIANTE BURBUJA ] "<<endl;
for(I=0; I<N; I++)
cout<<endl<<"\t\t"<<V;
cout<<endl<<endl;
 
 
}
 
 
 
void seleccion()
{
int J,I,N,K;
int V[10];
int Aux;
 
cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)
 
 
{  
cout<<"Ingrese Dato "<<I+1<<": ";
cin>>V;
}
 
for(I=0; I<N-1; I++)
{
K=I;
for (J=I+1; J<N; J++)
if (V[J]<V[K])
K=J;
 
Aux=V;
V=V[K];
V[K]=Aux;
}
 
 
cout<<endl<<"[ NUEMROS ORDENADOS MEDIANTE SELECCION ]"<<endl;
for(I=N-1; I>=0; I--)
cout<<endl<<"\t\t"<<V;
cout<<endl<<endl;
system("exit");

}

Páginas: 1 2 3 4 5 6 7 [8] 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines