Ayuda Urgente <iostream.h>
Hola a todos, que excelente lugar para ayudarnos en lo referente a la programación.
Mi problema es el siguiente, les advierto que soy relativamente nuevo en esto asi que cualquier problemita para ustedes puede ser un problemón para mi:
En la escuela me encargaron hacer 2 programas de cada tema que vimos en clase, entre ellos: Pilas, Colas, Listas, Busqueda, Ordenamiento, Recursión, etc, tengo varios programas como el de Burbuja, QuickSort, Método Shell para el ordenamiento, pero incluyen las librerias iostream y la iomanip que cuando trato de compilar en el turbo c 3.0 no me deja, y ese turbo c si incluye esas librerías, me da un eror como diciendo "must use c++" y luego dice que no puede hacer la operación o que use #define para definir no se que cosa, luego pensé que podía ser que necesitaba usar un compilador diferente, para C++ pero no se cual ni donde bajarlo, si me pueden ayudar les agradecería, les puedo mandar el código fuente de esos programas y si alguien tiene un compilador para que me los compile y me mande el .exe, se los agradecería bastante ya que son para el Martes, hoy estamos a Viernes, otros que tengo si funcionaron bien como torres de hanoi, la serie fibonaci y esos, pero los que les menciono también me urgen.
Por favor ayudenme, se los agradezco.
Otra preguntita: los archivos .C son de C y los .cpp son en C++ correcto? Los que no puedo compilar estan en .cpp
GRACIAS DE ANTEMANO!
Mi problema es el siguiente, les advierto que soy relativamente nuevo en esto asi que cualquier problemita para ustedes puede ser un problemón para mi:
En la escuela me encargaron hacer 2 programas de cada tema que vimos en clase, entre ellos: Pilas, Colas, Listas, Busqueda, Ordenamiento, Recursión, etc, tengo varios programas como el de Burbuja, QuickSort, Método Shell para el ordenamiento, pero incluyen las librerias iostream y la iomanip que cuando trato de compilar en el turbo c 3.0 no me deja, y ese turbo c si incluye esas librerías, me da un eror como diciendo "must use c++" y luego dice que no puede hacer la operación o que use #define para definir no se que cosa, luego pensé que podía ser que necesitaba usar un compilador diferente, para C++ pero no se cual ni donde bajarlo, si me pueden ayudar les agradecería, les puedo mandar el código fuente de esos programas y si alguien tiene un compilador para que me los compile y me mande el .exe, se los agradecería bastante ya que son para el Martes, hoy estamos a Viernes, otros que tengo si funcionaron bien como torres de hanoi, la serie fibonaci y esos, pero los que les menciono también me urgen.
Por favor ayudenme, se los agradezco.
Otra preguntita: los archivos .C son de C y los .cpp son en C++ correcto? Los que no puedo compilar estan en .cpp
GRACIAS DE ANTEMANO!
Hola, en principio te diría que cambies de compilador. A no ser que sea tu profesor el troglodita que lo exige, no hay ninguna razón para aprender el lenguaje C++ con un compilador que no puede compilar código C++.
El problema con los mejores compiladores gratuitos disponibles es que no son muy amigables con los principiantes. Por lo general, los compiladores gratuitos se distribuyen *pelados*, sin editor o entorno de desarrollo que haga las cosas más simples, aunque la única opción completa que conozco (y sinceramente te recomiendo) es el Dev C++, que viene con un compilador excelente y es un entorno de desarrollo que te facilita escribir programas para windows en modo consola o con ventanas, bibliotecas estáticas y DLLs. Bueno, no quiero vendértelo, sobre todo porque es gratuito, así que guarda con cariño el Turbo C en algún baul, y descárgate el Dev C++ :
http://www.bloodshed.net/dev/devcpp.html
Alejandro
El problema con los mejores compiladores gratuitos disponibles es que no son muy amigables con los principiantes. Por lo general, los compiladores gratuitos se distribuyen *pelados*, sin editor o entorno de desarrollo que haga las cosas más simples, aunque la única opción completa que conozco (y sinceramente te recomiendo) es el Dev C++, que viene con un compilador excelente y es un entorno de desarrollo que te facilita escribir programas para windows en modo consola o con ventanas, bibliotecas estáticas y DLLs. Bueno, no quiero vendértelo, sobre todo porque es gratuito, así que guarda con cariño el Turbo C en algún baul, y descárgate el Dev C++ :
http://www.bloodshed.net/dev/devcpp.html
Alejandro
Hola Alejandro_ , gracias por tu ayuda, te comento que en estos momentos estoy bajando el compilador Dev C++, estoy seguro que podré compilar los códigos fuente que te menciono, estoy 100% seguro de que estan bien hechos solo que con el turbo no los podía compilar.
Cuando se bajé tratare de hacerlo, voy a poner los resultados acá, si tuve éxito o si tuve algún problema, para que sepan! :D
Si tengo algun problema tendré que molestarte de nuevo hehehe, saludos de nuevo y muchas gracias!.
Cuando se bajé tratare de hacerlo, voy a poner los resultados acá, si tuve éxito o si tuve algún problema, para que sepan! :D
Si tengo algun problema tendré que molestarte de nuevo hehehe, saludos de nuevo y muchas gracias!.
Hola!
No pude compilar ningun programa, me fijé que en la carpeta include el Dev C++ no tiene la librería iostream.h ni la iomanip.h, si no que vienen dentro de la carpeta c++ dentro de la carpeta include pero no dice .h, en fin, traté de compilar y me marcó estos errores:
Compilador: Default compiler
Ejecutando g++.exe...
g++.exe "C:Dev-Cppburbuja.cpp" -o "C:Dev-Cppburbuja.exe" -I"C:Dev-Cppincludec++" -I"C:Dev-Cppincludec++mingw32" -I"C:Dev-Cppincludec++backward" -I"C:Dev-Cppinclude" -L"C:Dev-Cpplib"
In file included from C:/Dev-Cpp/include/c++/backward/iostream.h:31,
from C:/Dev-Cpp/burbuja.cpp:1:
C:/Dev-Cpp/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
C:/Dev-Cpp/burbuja.cpp: In function `int main(...)':
C:/Dev-Cpp/burbuja.cpp:52: name lookup of `i' changed for new ISO `for' scoping
C:/Dev-Cpp/burbuja.cpp:45: using obsolete binding at `i'
C:/Dev-Cpp/burbuja.cpp:69: warning: deleting array `int enteros[5]'
C:/Dev-Cpp/burbuja.cpp:70:2: warning: no newline at end of file
Ejecución Terminada
Incluso los archivos que ya había compilado con el Turbo C, que son .C , al compilarlos con este marca algunos errores aún asi los corre, pero estos que tenía y que según con el Dev se podrían compilar no he podido.
Ayuda Por favor!
Gracias!
No pude compilar ningun programa, me fijé que en la carpeta include el Dev C++ no tiene la librería iostream.h ni la iomanip.h, si no que vienen dentro de la carpeta c++ dentro de la carpeta include pero no dice .h, en fin, traté de compilar y me marcó estos errores:
Compilador: Default compiler
Ejecutando g++.exe...
g++.exe "C:Dev-Cppburbuja.cpp" -o "C:Dev-Cppburbuja.exe" -I"C:Dev-Cppincludec++" -I"C:Dev-Cppincludec++mingw32" -I"C:Dev-Cppincludec++backward" -I"C:Dev-Cppinclude" -L"C:Dev-Cpplib"
In file included from C:/Dev-Cpp/include/c++/backward/iostream.h:31,
from C:/Dev-Cpp/burbuja.cpp:1:
C:/Dev-Cpp/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
C:/Dev-Cpp/burbuja.cpp: In function `int main(...)':
C:/Dev-Cpp/burbuja.cpp:52: name lookup of `i' changed for new ISO `for' scoping
C:/Dev-Cpp/burbuja.cpp:45: using obsolete binding at `i'
C:/Dev-Cpp/burbuja.cpp:69: warning: deleting array `int enteros[5]'
C:/Dev-Cpp/burbuja.cpp:70:2: warning: no newline at end of file
Ejecución Terminada
Incluso los archivos que ya había compilado con el Turbo C, que son .C , al compilarlos con este marca algunos errores aún asi los corre, pero estos que tenía y que según con el Dev se podrían compilar no he podido.
Ayuda Por favor!
Gracias!
En primer lugar, deberías descargar e instalar la actualización, que encuentras en la misma página anterior, bajo el título:
Latest update : version 4.9.8.9
No creo que sea funamental, pero es importante (por ejemplo, la opción update automática del menú tools funciona con las direcciones nuevas), y te evita el segundo mensaje de error, el que dice que C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
A ver, copio primero los mensajes y después vemos:
> C:/Dev-Cpp/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
Éste es un mensaje de advertencia, no de error. Te dice que la biblioteca iostream.h es obsoleta, que debes usar #include<iostream> (sin la h) en su lugar. En la versión que tengo sí figura (en includec++backward, pero de todos modos no hay que usarla estando la otra.
> C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
main debe devolver int. Al final de la función main() debes poner return 0; o descargar la última actualización.
> C:/Dev-Cpp/burbuja.cpp:52: name lookup of `i' changed for new ISO `for' scoping
No sé en qué parte del código te señala ésto, pero es posible que hayas usado una construcción problemática del tipo
for(int i=0; i< Algo(); i++) {
//...
}
Si es así, prueba cambiando a
int i;
for( i=0; i< Algo(); i++) {
// ...
}
Quizás eso también resuelva el error siguiente:
> C:/Dev-Cpp/burbuja.cpp:45: using obsolete binding at `i'
> C:/Dev-Cpp/burbuja.cpp:69: warning: deleting array `int enteros[5]
Es un mensaje de advertencia, que no sé, llama la atención sobre la eliminación del array, pero tendría que ver por qué.
> C:/Dev-Cpp/burbuja.cpp:70:2: warning: no newline at end of file
Otro mensaje de advertencia. No sé, puede deberse a los errores anteriores. Primero descarga la actualización, corrige el código para que no haya más errores o advertencias y si el último persiste... bueno, ya veremos.
Alejandro
Latest update : version 4.9.8.9
No creo que sea funamental, pero es importante (por ejemplo, la opción update automática del menú tools funciona con las direcciones nuevas), y te evita el segundo mensaje de error, el que dice que C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
A ver, copio primero los mensajes y después vemos:
> C:/Dev-Cpp/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
Éste es un mensaje de advertencia, no de error. Te dice que la biblioteca iostream.h es obsoleta, que debes usar #include<iostream> (sin la h) en su lugar. En la versión que tengo sí figura (en includec++backward, pero de todos modos no hay que usarla estando la otra.
> C:/Dev-Cpp/burbuja.cpp:40: `main' must return `int'
main debe devolver int. Al final de la función main() debes poner return 0; o descargar la última actualización.
> C:/Dev-Cpp/burbuja.cpp:52: name lookup of `i' changed for new ISO `for' scoping
No sé en qué parte del código te señala ésto, pero es posible que hayas usado una construcción problemática del tipo
for(int i=0; i< Algo(); i++) {
//...
}
Si es así, prueba cambiando a
int i;
for( i=0; i< Algo(); i++) {
// ...
}
Quizás eso también resuelva el error siguiente:
> C:/Dev-Cpp/burbuja.cpp:45: using obsolete binding at `i'
> C:/Dev-Cpp/burbuja.cpp:69: warning: deleting array `int enteros[5]
Es un mensaje de advertencia, que no sé, llama la atención sobre la eliminación del array, pero tendría que ver por qué.
> C:/Dev-Cpp/burbuja.cpp:70:2: warning: no newline at end of file
Otro mensaje de advertencia. No sé, puede deberse a los errores anteriores. Primero descarga la actualización, corrige el código para que no haya más errores o advertencias y si el último persiste... bueno, ya veremos.
Alejandro
Bueno, está claro que el problema está en el código, acá abajo te escribo la lista de lo que tienes que corregir. Estos problemas no tienen nada que ver con el compilador, son defectos del código. Cambia de profesor.
1) Saca las h de <iostream.h> y de <iomanip.h>
los archivos cabecera de C++ no son esos. Reemplaza por los correctos:
<iosteram> y <iomanip>
incluye después de ellos la linea:
using namespace std;
2) la biblioteca conio.h no es C++, para incluirla:
en Project Options >> Directories >> Library Directories añade
C:Dev-Cpplibconio.o
(donde C:|Dev-Cpp es el directorio donde tienes instalado el Dev C++.)
3) En la primera ocurrencia de
for(int i=0; i<tama; i++) la variable i no puede usarse después de que se sale de ámbito. Está mal.
cambia por:
int i;
for(i=0;i<tama;i++)
4) saca
delete enteros;
el array enteros[tama] no fue creado con new, no puedes eliminarlo con delete, se libera la memoria asignada al salir de ámbito.
Alejandro
1) Saca las h de <iostream.h> y de <iomanip.h>
los archivos cabecera de C++ no son esos. Reemplaza por los correctos:
<iosteram> y <iomanip>
incluye después de ellos la linea:
using namespace std;
2) la biblioteca conio.h no es C++, para incluirla:
en Project Options >> Directories >> Library Directories añade
C:Dev-Cpplibconio.o
(donde C:|Dev-Cpp es el directorio donde tienes instalado el Dev C++.)
3) En la primera ocurrencia de
for(int i=0; i<tama; i++) la variable i no puede usarse después de que se sale de ámbito. Está mal.
cambia por:
int i;
for(i=0;i<tama;i++)
4) saca
delete enteros;
el array enteros[tama] no fue creado con new, no puedes eliminarlo con delete, se libera la memoria asignada al salir de ámbito.
Alejandro
Que moleston soy pero sigo teniendo problemas, hice los cambios que me dijiste pero:
Las opciones de proyecto no se pueden seleccionar, no pude hacer lo que me dijiste para el conio.
Marca comoquiera esto acerca del iostream y del iomanip:
/Dev-Cpp/quicksort.C C:Dev-CppC
iostream: No such file or directory.
/Dev-Cpp/quicksort.C C:Dev-CppC
iomanip: No such file or directory.
Las librerías estan en otro lugar no ahí, como lo cambio?
Saludos!
GRACIAS
Las opciones de proyecto no se pueden seleccionar, no pude hacer lo que me dijiste para el conio.
Marca comoquiera esto acerca del iostream y del iomanip:
/Dev-Cpp/quicksort.C C:Dev-CppC
iostream: No such file or directory.
/Dev-Cpp/quicksort.C C:Dev-CppC
iomanip: No such file or directory.
Las librerías estan en otro lugar no ahí, como lo cambio?
Saludos!
GRACIAS
Aparte, marca otros tantos errores, te comento que el Maestro nos lo encargo asi nadamás, no hemos siquiera empezado a ver programación por lo que te pido no te desesperes conmigo, muchas gracias.
Mhhh
compilé el programa y encuentro dos errores más:
debes sacar
clrscr(); no hay forma de que la reconozca.
Con eso ya compila sin errores ni advertencia, lo único es que el algoritmo QSort no está bien.
Si aún te interesa, corrige con comentarios la parte del código de acá abajo::
while(arreglo[i]<x /*&&j<der*/)i++;
while(x<arreglo[j] /*&&j>izq*/)j--;
compilé el programa y encuentro dos errores más:
debes sacar
clrscr(); no hay forma de que la reconozca.
Con eso ya compila sin errores ni advertencia, lo único es que el algoritmo QSort no está bien.
Si aún te interesa, corrige con comentarios la parte del código de acá abajo::
while(arreglo[i]<x /*&&j<der*/)i++;
while(x<arreglo[j] /*&&j>izq*/)j--;
Sigue diciendo no such file or directory para las librerias, y el último comentario no lo entendí:
"Si aún te interesa, corrige con comentarios la parte del código de acá abajo::
while(arreglo[i]<x /*&&j<der*/)i++;
while(x<arreglo[j] /*&&j>izq*/)j--;
AMIGO, de antemano, no se como agradecerte que te estes tomando el tiempo en ayudarme, creeme, solo vimos teoría, nunca programación, esto es nuevo para mi, y realmente estoy batallando bastante, no es algo simple para mi, de dónde eres? Quizá puedas cobrarme para yo mandarte los códigos aparte de este que necesito obtener el .exe, los ocupo para el lunes y eres el único que me ha ayudado, el otro semestre veré programación, ahorita no la debí haber visto, yo se que si me enseñan aprendo, pero me urge tener los .exe de los 3 o 4 códigos fuente.
SI puedes ayudarme a hacermelos en .exe avisame por favooor.
Diosito te lo pagará.
GRACIAS :D
Sigo intentando de cualquier manera, no te imaginas cuanto, acá son las 4:19am y sigo aqui desde las 9pm o antes ando en esto.
SALUDOS
"Si aún te interesa, corrige con comentarios la parte del código de acá abajo::
while(arreglo[i]<x /*&&j<der*/)i++;
while(x<arreglo[j] /*&&j>izq*/)j--;
AMIGO, de antemano, no se como agradecerte que te estes tomando el tiempo en ayudarme, creeme, solo vimos teoría, nunca programación, esto es nuevo para mi, y realmente estoy batallando bastante, no es algo simple para mi, de dónde eres? Quizá puedas cobrarme para yo mandarte los códigos aparte de este que necesito obtener el .exe, los ocupo para el lunes y eres el único que me ha ayudado, el otro semestre veré programación, ahorita no la debí haber visto, yo se que si me enseñan aprendo, pero me urge tener los .exe de los 3 o 4 códigos fuente.
SI puedes ayudarme a hacermelos en .exe avisame por favooor.
Diosito te lo pagará.
GRACIAS :D
Sigo intentando de cualquier manera, no te imaginas cuanto, acá son las 4:19am y sigo aqui desde las 9pm o antes ando en esto.
SALUDOS
Alejandro_ ya me voy a dormir, son las 5:14am acá, mañana regreso a ver si contestaste algo, gracias por todo y please avisame si puedes hacerme ese gran favor.
GRACIAAAS!
QUE AMABLE!
GRACIAAAS!
QUE AMABLE!
Gracias Alex!, de verdad gracias por tu tiempo, seguiré las instrucciónes al pié de la letra! :P
SALUDOS!
SALUDOS!
Hola Alejandro_ ,ya bajé la actualización y nada, sigue siendo igual, deja te paso el código de uno de los progs de ordenamiento QuickSort, para que por favor lo cheques, no debe tener errores ya que otros compañeros lo han hecho tal cual en otras ocasiónes, si aceptas ayudarme te molestaría con otros 3 códigos para que los cheques, mas que nada para que hagas el .exe y yo tenerlos, que es lo que me urge, POR FA, GRACIAS DE ANTEMANO.
CODIGO:
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#define tama 10
void Ordenamiento_Quicksort(int *arreglo,int izq, int der)
{
int i,j,x,y;
i=izq; j=der;
x=arreglo[(izq+der)/2];
do{
while(arreglo[i]<x&&j<der)i++;
while(x<arreglo[j]&&j>izq)j--;
if(i<=j)
{
y=arreglo[i];
arreglo[i]=arreglo[j];
arreglo[j]=y;
i++; j--;
}//fin if
}while(i<=j);
if(izq<j) Ordenamiento_Quicksort(arreglo,izq,j);
if(i<der) Ordenamiento_Quicksort(arreglo,i,der);
}
void rapido(int *vector)
{
Ordenamiento_Quicksort(vector,0,tama-1);
}
int main()
{
int enteros[tama];
clrscr();
cout<<"ORDENAMIENTO POR QUICKSORT"<<endl<<endl;
cout<<"digite"<<endl;
for(int i=0;i<tama;i++)
{
cout<<"entero["<<i<<"]= ";
cin>>enteros[i];
}
cout<<"ARREGLO ORIGINAL"<<endl;
for(i=0;i<tama;i++)
{
cout<<enteros[i]<<setw(5);
}
rapido(enteros);
cout<<endl<<"ARREGLO ASCENDENTE"<<endl;
for(i=0;i<tama;i++)
{
cout<<enteros[i]<<setw(5);
}
getch();
delete enteros;
return 0;
}
CODIGO:
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#define tama 10
void Ordenamiento_Quicksort(int *arreglo,int izq, int der)
{
int i,j,x,y;
i=izq; j=der;
x=arreglo[(izq+der)/2];
do{
while(arreglo[i]<x&&j<der)i++;
while(x<arreglo[j]&&j>izq)j--;
if(i<=j)
{
y=arreglo[i];
arreglo[i]=arreglo[j];
arreglo[j]=y;
i++; j--;
}//fin if
}while(i<=j);
if(izq<j) Ordenamiento_Quicksort(arreglo,izq,j);
if(i<der) Ordenamiento_Quicksort(arreglo,i,der);
}
void rapido(int *vector)
{
Ordenamiento_Quicksort(vector,0,tama-1);
}
int main()
{
int enteros[tama];
clrscr();
cout<<"ORDENAMIENTO POR QUICKSORT"<<endl<<endl;
cout<<"digite"<<endl;
for(int i=0;i<tama;i++)
{
cout<<"entero["<<i<<"]= ";
cin>>enteros[i];
}
cout<<"ARREGLO ORIGINAL"<<endl;
for(i=0;i<tama;i++)
{
cout<<enteros[i]<<setw(5);
}
rapido(enteros);
cout<<endl<<"ARREGLO ASCENDENTE"<<endl;
for(i=0;i<tama;i++)
{
cout<<enteros[i]<<setw(5);
}
getch();
delete enteros;
return 0;
}
Traté de probar a ver que tal jalaba el prog, traté de compilar los código fuente de otros progs que con el Turbo C compilé exitosamente y ni un solo error, pues resulta que con el DEV me marca muchos errores y no lo quiere correr.
ALgo estoy haciendo mal?
Por favor, si alguien es tan amable de dejar que le mande mis archivos .cpp que no he podido compilar y me haga el favor de compilarlos y mandarme los .exe se los agradeceré, tengo que entregarlos para el lunes.
Aviseme por favor si se los puedo mandar por email y a que dir, son como 3 o 4
POR FAVOR!
SAludos
y gracias.
ALgo estoy haciendo mal?
Por favor, si alguien es tan amable de dejar que le mande mis archivos .cpp que no he podido compilar y me haga el favor de compilarlos y mandarme los .exe se los agradeceré, tengo que entregarlos para el lunes.
Aviseme por favor si se los puedo mandar por email y a que dir, son como 3 o 4
POR FAVOR!
SAludos
y gracias.
