Tengo varios métodos dentro de la clase VECTOR, pero tengo un problema en el metodo para ordenar de menor a mayor pero no me da quisiera saber si alguien me puede ayudar a encontrar el error en el método de la clase vector. Muchas Gracias !! >:D >:D
Aquí esta el codigo (solo la clase);
#include <iostream>
using namespace std;
class Vector {// Inicio de la clase VECTOR
int n;// Numero de elementos del vector
float v[100];
public:
Vector(int ne) {
n = ne;
}
int getN() {
return (n);
}
float getV(int indice) {
return (v[indice]);
}
float *getV() {
return (v);
}
void setN(int ne) {
n = ne;
}
void setV(int pos, float valor) {
v[pos] = valor;
}
////////////////////////////////////////////////////////////
void leerVector(int indice, float valor) {
v[indice] = valor;
}
/////////////////////////////////////////////////////////////
void imprimirVector() {
int i;
if(n == 0) {
cout<<"EL VECTOR ESTA VACIO";
} else {
for (i = 0; i < n; i++) {
cout<<v[i]<<" ";
}
}
}
////////////////////////////////////////////////////////////
void insertarDesordenado(float valIn) {
v[n] = valIn;
n = n + 1;
}
/************************************************************/
int buscar(float valBus) {
int i = 0;
if (n == 0) {
system("cls");
cout<<" EL VECTOR ESTA VACIO"<<endl;
system("pause>null");
return (-1); // Metodo para Buscar
} else {
while ((i < n) && (valBus != v[i])) {
i++;
}
if (i < n) {
return (i);
} else {
return (-1);
}
}
}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX//
void ordenarMenor(){
int i, k, posMen;
string nomMenor;
//Vector aux;
for (i=0; i<(n-1); i++){
nomMenor=v[i].n();
posMen = i; // Metodo Ordenar de menor a mayor
for (k=(i+1); k<n; k++){
if(nomMenor>v[k].getN()){
nomMenor=v[k].getN();
posMen=K;
}
}
aux = v[i];
v[i]=v[posMen];
//v[posMen]=aux;
}
}
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX//
/*****************************************************************/
void insertarOrdenado(float valIn) {
int posIn = 0, k;
while ((posIn < n) && (valIn > v[posIn])) {
posIn++;
}
for (k = n - 1; k >= posIn; k--) {
v[k + 1] = v[k];
}
v[posIn] = valIn;
n++;
}
};
donde aparece subrayado es donde me aparece el error.
Mod: Los códigos deben ir en etiquetas GeSHi, No escribir en mayúsculas
¿Podrías comentar que tipo de error te da?
Un saludo
Esta es la lista de errores que me aparece para complilar.
[Error] expected '}' at end of input
[Error] request for member 'getN' in '((Vector*)this)->Vector::v[k]', which is of non-class type 'float'
[Error] expected ')' before '{' token
Error] expected primary-expression before '}' token
[Error] 'aux' was not declared in this scope
[Error] expected unqualified-id at end of input
copia y pega exactamente la salida del compilador (con numero de linea y demás)
Cita de: ximenaferneymega en 2 Diciembre 2016, 19:52 PM
[Error] request for member 'getN' in '((Vector*)this)->Vector::v[k]', which is of non-class type 'float'
Estas tratando al vector
v como si fuera un vector de objetos los cuales tienen el método getN, pero en realidad
v es un vector de variables primitivas de tipo flotante los cuales no poseen métodos.
Cita de: ximenaferneymega en 2 Diciembre 2016, 19:52 PM
[Error] 'aux' was not declared in this scope
No has declarado la variables
aux
asi son los errores que me aparecen (estoy usando Dec-C++.5.11), con linea y columnas respectivamente.
116 2 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected '}' at end of input
89 22 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] request for member 'getN' in '((Vector*)this)->Vector::v[k]', which is of non-class type 'float'
89 28 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected ')' before '{' token
93 4 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected primary-expression before '}' token
94 6 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] 'aux' was not declared in this scope
98 2 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected unqualified-id at end of input
Mod: No escribir en mayúsculas
86 21 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] request for member 'getN' in '((Vector*)this)->Vector::v[i]', which is of non-class type 'float'
89 22 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] request for member 'getN' in '((Vector*)this)->Vector::v[k]', which is of non-class type 'float'
89 28 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected ')' before '{' token
93 4 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] expected primary-expression before '}' token
94 6 C:\Documents and Settings\docen10.SALASDRAI2\Mis documentos\Downloads\CLASES\Clase.cpp [Error] 'aux' was not declared in this scope
coloca los errores dentro de etiquetas de codigo (la que tiene el simbolo #)
no hagas doble post!
por que tienes 2 juegos de errores?
que son los segundos errores que publicaste?
Perdon Me he equivocado es la Ultima Parte XD
Cita de: ximenaferneymega en 2 Diciembre 2016, 19:52 PM
[Error] expected '}' at end of input
[Error] expected ')' before '{' token
Error] expected primary-expression before '}' token
[Error] expected unqualified-id at end of input
Tienes varias errores muy parecidos, deberias tabular bien el codigo en algunas lineas de tu codigo para darte cuenta de que tienes mal cerrado algun parentesis o un punto y coma donde no debe.
Saludos
Aunque me aparece este error, todos los paréntesis, llaves y puntos y comas estan bien. La verdad No se pero no creo que sea por eso.
Debe de tener otras funciones que no coinciden y aun no logro encontrarlas ,,,
Cita de: ximenaferneymega en 2 Diciembre 2016, 21:46 PM
Aunque me aparece este error, todos los paréntesis, llaves y puntos y comas estan bien. La verdad No se pero no creo que sea por eso.
es una lastima que el compilador no se ponga de acuerdo contigo... pero te digo algo, el compilador es muy raro que se dañe (y cuando se daña, notarás el error super complejo), sus errores son verdaderos más allá de lo que tu creas o no XD
a primera vista, si te sobra un '}' en la linea 116 como el compilador indica... ponte poco a poco a revisar el programa y te doy un consejo, cuando crees una función, condiciona u otro que lleve cualquiera de (){}[] ""(comillas dobles) ''(comillas simples) crea la de abrir y cerrar de una vez... despues escribes todo lo que vas a colocar adentro así evitas que te sobren o falten
Muchas Gracias Engel Lex
Creo que aun estoy muy cruda XD :-[ :-[ :-( :-(