Jump to content

Ayuda con error borland c++


Recommended Posts

Buenas soy nuevo en el foro así que si mi pregunta no va aquí mis disculpas. la cosa es que estoy haciendo un ejercicio que dice lo siguientes (generar una matriz de 4 filas y 5 columnas con números aleatorios entre 1 y 100 e imprimir)

#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>

main(){
   int matriz[3][4];
   srand(time(NULL));
   for(int x=0;x<4;x++){
   	cout<<endl;
   	for(int y=0;y<5;y++){
      	    matriz[x][y]=rand()%100;
            if(matriz[x][y]>10){
         	cout<<" "<<matriz[x][y]<<" ";
            }else{
         	cout<<"  "<<matriz[x][y]<<" ";
            }
        }
   }
   getch();
} 

me compila sin warnings ni errores al ejecutarse todo bien y si cierro la consola desde la X que esta en la esquina superior derecha cero problemas. el problema surge cuando quiero cerrar la consola apretando una tecla que esta esperando getch() justo después de apretar la tecla que espera getch() me sale lo de la primera imagen y luego que le doy aceptar al aviso me salen esos valores raros de la segunda imagen

 

1era imagen http://prntscr.com/4xotlb

2da imagen http://prntscr.com/4xotrk

 

si alguien sabe lo que es le agradecería mucho su ayuda :D

Edited by ngdev
Link to comment
Share on other sites

Hasta donde pude ver, el código estaría ok.

 

Lo único que me entraría en duda, es en la declaración del main.

 

Si mal no recuerdo, en C++ la declaración de un método o función debería ser

int main()
{
//codigo
 return 0;
}

o

void main()
{
//codigo
}

y en el código que posteaste no declaras si el main es método (void main) o función (<tipo variable> main), y eso puede que sea la razón de porqué tu programa se cae al final.

 

Ah, y complementando lo que susodicho escribió, para obtener un número aleatorio entre y 100 debes poner en tu código

matriz[x][y] = rand()%100 + 1;
Edited by The Duke of Quakem
Link to comment
Share on other sites

Hasta donde pude ver, el código estaría ok.

 

Lo único que me entraría en duda, es en la declaración del main.

 

Si mal no recuerdo, en C++ la declaración de un método o función debería ser

int main()
{
//codigo
 return 0;
}
o

void main()
{
//codigo
}
y en el código que posteaste no declaras si el main es método (void main) o función (<tipo variable> main), y eso puede que sea la razón de porqué tu programa se cae al final.

 

Por si acaso, en C es válido declarar una variable o función sin especificar el tipo de dato, se asume el tipo int. Ahora, esa es una característica del lenguaje C, en C++ eso no se puede hacer, excepto en algunos compiladores antiguos como los de Borland. De hecho, en cualquier compilador actual, el código ni siquiera compila porque en C++ hace tiempo que se usan los espacios de nombres y actualmente los encabezados C++ no tienen la extensión ".h".

 

Así que lo único que se podría echar de menos es una advertencia del compilador diciendo que la función main no devuelve un valor (ya que implícitamente debería devolver un int).

 

:huasonto:

Edited by susodicho
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...