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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / [C++] Error stray 354 en: 24 Noviembre 2012, 09:01 am
Hola de nuevo.

He aquí otra de mis dudas :P

Primero les mostraré la parte del código que me esta dando problemas (todo el resto funciona bien):

Código:
void mostrar(){

    //imagen inicial
    cout << "Imagen Inicial\n";
    for(int i=0; i<filas; i++){
        cout << endl;
        for(int j=0; j<columnas; j++){
            if(j<columnas-1)
                cout << pixeles[i][j].getRojo() << "-" << pixeles[i][j].getVerde() << "-" << pìxeles[i][j].getAzul() << " ";
            else
                cout << pixeles[i][j].getRojo() << "-" << pixeles[i][j].getVerde() << "-" << pìxeles[i][j].getAzul() << "\n";
        }
    }
    cout << endl;
    cout << endl;

    //imagen modificada
    cout << "Imagen Modificada" << endl;
    for(int i=0; i<filas; i++){
        cout << endl;
        for(int j=0; j<columnas; j++){
            if(j<columnas-1)
                cout << pixeles2[i][j].getRojo() << "-" << pixeles2[i][j].getVerde() << "-" << pìxeles2[i][j].getAzul() << " ";
            else
                cout << pixeles2[i][j].getRojo() << "-" << pixeles2[i][j].getVerde() << "-" << pìxeles2[i][j].getAzul() << "\n";
        }
    }
    cout << endl;
    cout << endl;

}
(Donde, linea 311: cout << pixeles[ i ][j].getRojo() << "-" << pixeles[ i ][j].getVerde() << "-" << pìxeles[j].getAzul() << " ";)


Y he aquí el error (click para verlo completo):



Cabe mencionar además que si por ejemplo acorto las "concatenaciones" de cout que dan problemas, de la siguiente forma, por ejemplo:

Código:
cout << pixeles[i][j].getRojo() << "-";

No me da error, compila todo bien, aunque si hago algo como esto:

Código:
cout << pixeles[i][j].getRojo();
cout << "-";
cout << pixeles[i][j].getVerde();
cout << "-";
cout << pìxeles[i][j].getAzul();
cout << " ";

Tampoco compila, dándome el mismo error.

Pareciera como sí la "concatenacion" se "saturara" y me diese algo así como un "tope" (si es que eso tiene algun sentido jaja). Aunque igual raro, pues creo que no debería (y nunca me habia pasado antes, con este ni con ningun otro lenguaje). WTF! O.o

Bueno, ese es mi problema. Ojalá puedan ayudarme tal como lo han hecho hasta ahora :)

Saludos y muchas gracias.
2  Programación / Programación C/C++ / [C++] Matrices en: 19 Noviembre 2012, 06:11 am
Hola a todos..... tengo una duda existencial que aun no puedo resolver... necesito crear una matriz cuadrada de dimension n ingresada por el usuario por consola y luego el programa imprime la matriz con determinada forma creada por mi.

El codigo es el siguiente:

Código:
#include <iostream>
using namespace std;

void printMatriz(int m[][], int n){

    for(int i=0; i<n; i++){
        for(int j=0; j<n; j++){
            cout << m[i][j];
            if(j==n-1) cout << endl;
        }
    }
    cout << endl;

}

void forma(int m[][], int n){

    for(int i=0; i<n; i++){
        for(int j=0; j<n; j++){
            if(i==0) m[i][j] = 1;
            if(j==0||j==n-1) m[i][j] = 1;
            if(i==n-1) m[i][j] = 1;
        }
    }
    printMatriz(m,n);

}

int main(){

    int n = -1;
    int f;
    do{
        do{
            cout << "Ingrese dimension de matriz cuadrada mayor a 4: ";
            cin >> n;
            if(n==0) break;
        }while(n<5);
        int m[n][n];
        forma(m,n);        
    }while(n!=0);
    return 0;

}

Sé que esta mal la recepción de la matriz en las funciones, pero estoy perdido en como hacerlo funcionar.

Dado el código anterior, ¿Cuáles serían las modificaciones que ustedes le harían para realizar lo que quiero?
No es necesario que lo expliquen, sólo escriban el código funcional, con el menor numero de cambios posibles, así yo me encargo de investigar bien cómo es que funciona (si explican, mejor (más rapido). Si no, bien igual, que yo me craneo :P).

Saludos y gracias.
3  Programación / Programación C/C++ / Duda puntero en C en: 24 Septiembre 2012, 04:24 am
Hola a todos. Soy nuevo aquí y soy principiante en C, por lo que tengo la siguiente duda con este código:

Código:
#include <stdio.h>

int main(){
    
     int *a = (int*)malloc(sizeof(int)*3);
     int *b;
     *a = 2;
     *(a+1) = 4;
     *(a+2) = 6;
     b = a;
     *(b+1)=0;
     while(*(b++));
     printf("%i, %i, %i\n",*a,*(a+1),*(a+2));
     printf("%i, %i, %i\n",*b,*(b+1),*(b+2));
     free(a);
     getchar();
     return 0;
    
}

Por qué en la salida obtengo:

Código:
2, 0, 6
6, 1314869318, -1856398723

¿Por qué con ese while pareciera que "desaparecieran" los valores de los punteros iniciales de b?

*Nótese que es ";" al final del while y no un "{", y no hay ninguna línea de código dentro del while.


Saludos y gracias :)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines