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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Array elementos repetidos en: 5 Mayo 2015, 16:44 pm
¿¿¿Como se hace para que un array formado a partir de otros, y ordenado de forma creciente, no tenga ningún valor repetido???

El ejercicio es el siguiente:

"Escribir un programa al que se le dé como entrada dos arrays de enteros
ordenados de forma creciente, y devuelva como salida un array ordenado de
forma creciente formado por los elementos de las entradas y sin incluir los elementos repetidos."


Éste es el código que tengo hasta ahora, pero se me repiten los valores:

Código:
#include <iostream>
#include <stdlib.h>
#include <string.h>

using namespace std;

int main()
{
int V1[100],V2[100],V3[200];
int n1,n2,n3,i,j,k,l;

cout<<"Ingrese la dimension del vector 1: "<<endl;
cin>>n1;
cout<<endl;
cout<<"Ingrese los elementos del vector 1: "<<endl;
for(i=0;i<n1;i++){
cin>>V1[i];
}

cout<<endl;
cout<<"Ingrese la dimension del vector 2: ";
cin>>n2;
cout<<endl; 
cout<<"Ingrese los elementos del vector 2: "<<endl;
for(i=0;i<n2;i++){
    cin>>V2[i];
}

j=0;//indice para el primer vector
k=0;//indice para el segundo vector
l=0;//indice para el tercer vector

while ((j<n1)&&(k<n2)){
      if(V1[j]<V2[k]){
           V3[l]=V1[j];     
           j++;
      }
      else{
           V3[l]=V2[k];
           k++;
      }
           l++;

 
for(i=j;i<n1;i++){
       V3[l]=V1[i];
       l++;
}

for(i=k;i<n2;i++){
       V3[l]=V2[i];
       l++;
}

n3=l;// tamaño del vector tres
cout<<endl;
cout<<"El Vector 3 es: "<<endl;
cout<<endl;
for(i=0;i<n3;i++){
     cout<<"|"<<V3[i];
}
cout<<"|"<<endl;

cout<<endl;
system("pause"); 
return 0;
}


Si saben cómo, me haríais un gran favor! Gracias

LGG
2  Programación / Programación C/C++ / Programa NIF en: 2 Mayo 2015, 20:23 pm
Este es el enunciado del ejercicio:

Crea una clase Nif que se usará para mantener DNIs con su correspondiente letra. Los atributos de la clase serán el número de DNI (entero largo) y la letra que le corresponde.
La clase dispondrá de los siguientes métodos:
- Inicializador que reciba el número de DNI y establezca automáticamente la letra que le corresponde.
- Accedentes y mutador para el número de DNI (ajustando automáticamente la letra).
- Leer() : que pida el número de DNI (ajustando automáticamente la letra).
- Método que nos permita mostrar el NIF (DNI, un guión y la letra en mayúsculas; por ejemplo: 395469-F).
La letra se calculará con un método auxiliar (privado) de la siguiente forma:
se obtiene el resto de la división entera del número de DNI entre 23 y
se usa la siguiente tabla para obtener la letra correspondiente:

Código:
0 - T 			12 - N
1 - R 13 - J
2 - W 14 - Z
3 - A 15 - S
4 - G 16 - Q
5 - M 17 - V
6 - Y 18 - H
7 - F 19 - L
8 - P 20 - C
9 - D 21 - K
10 - X 22 - E
11 - B



Me lo han pedido en forma de proyecto, como no puedo adjuntar archivos comprimidos (que yo sepa) os los copio aquí:



1r archivo.
Guardado como: "main.cpp"

Código
  1. #include <stdlib.h>
  2. #include <iostream>
  3. #include "Nif.h"
  4.  
  5. using namespace std;
  6.  
  7. int main(){
  8.  
  9. Nif p
  10. ;
  11. char l, resp;
  12. long int d;
  13.  
  14. p.setDni(d);
  15. p.setLetra(l);
  16.  
  17. do{
  18.    p.Leer(d);
  19.  
  20.    p.Letra(d,l);
  21.  
  22.    p.show();
  23.  
  24.    cout<<endl;
  25.    cout<<"Quieres introducir otro numero? si<s> no<n>"<<endl;
  26.    cin>>resp;
  27. }while(resp=='s');
  28.  
  29. system("pause");
  30. return 0;
  31. }




2o archivo.
Guardado como: "Nif.h"


Código
  1. #ifndef NIF_H
  2. #define NIF_H
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. class Nif
  8. {
  9. private:
  10.    long int dni;
  11.    char letra;
  12.  
  13. public:
  14.  
  15.   Nif(){dni=0; letra='nada';}
  16.   Nif(long int d, char l){dni=d; letra=l;}
  17.   ~Nif(){cout<<"Destructor invocado.\n";};
  18.  
  19.   void setDni(long int d){dni=d;}
  20.   void setLetra(char l){letra=l;}
  21.  
  22.   long int getDni()const {return dni;}
  23.   char getLetra()const {return letra;}
  24.  
  25.   void Leer(long int d);
  26.   void Letra(long int d, char l);
  27.   void show();
  28.  
  29. };
  30.  
  31. #endif





3r archivo.
Guardado como: "Nif.cpp"



Código
  1. #include "Nif.h"
  2.  
  3.  
  4. using namespace std;
  5.  
  6.  
  7. void Nif::Leer(long int dni){  
  8.   cout<<endl;
  9.   cout<<"Introduzca el numero del DNI(8 car):  "<<endl;
  10.   cin>>dni;
  11.  
  12. }
  13.  
  14. void Nif::Letra(long int dni, char letra){
  15. int resto;
  16. resto=dni%23;
  17. switch(resto){
  18.     case 0:
  19.     letra=='T';
  20.     break;
  21.     case 1:
  22.        letra=='R';
  23.     break;
  24.     case 2:
  25.        letra=='W';
  26.     break;
  27. case 3:
  28.        letra=='A';
  29.     break;
  30. case 4:
  31.        letra=='G';
  32.     break;
  33. case 5:
  34.        letra=='M';
  35.     break;
  36. case 6:
  37.        letra=='Y';
  38.     break;
  39. case 7:
  40.        letra=='F';
  41.     break;
  42. case 8:
  43.        letra=='P';
  44.     break;
  45. case 9:
  46.        letra=='D';
  47.     break;
  48. case 10:
  49.        letra=='X';
  50.     break;
  51. case 11:
  52.        letra=='B';
  53.     break;
  54. case 12:
  55.        letra=='N';
  56.     break;
  57. case 13:
  58.        letra=='J';
  59.     break;
  60. case 14:
  61.        letra=='Z';
  62.     break;
  63. case 15:
  64.        letra=='S';
  65.     break;
  66. case 16:
  67.        letra=='Q';
  68.     break;
  69. case 17:
  70.        letra=='V';
  71.     break;
  72. case 18:
  73.        letra=='H';
  74.     break;
  75. case 19:
  76.        letra=='L';
  77.     break;
  78. case 20:
  79.        letra=='C';
  80.     break;
  81. case 21:
  82.        letra=='K';
  83.     break;
  84. case 22:
  85.        letra=='E';
  86.     break;
  87.    }
  88. }
  89.  
  90. void Nif::show(){
  91. cout<<"-------------------------------------------"<<endl;
  92.    cout<<endl;
  93.    cout<<"La letra correspondiente a tu DNI es: <"<<getLetra()<<endl;
  94.    cout<<endl;
  95.    cout <<"El NIF es: " <<getDni()<<"-"<<getLetra()<<endl;
  96. cout<<endl;
  97.    cout<<"-------------------------------------------"<<endl;
  98.    cout<<endl;
  99. }





El programa me compila pero a la hora de escribir (en la función "show") no me sale el numero del dni ni la letra bien...no sé donde esta el problema! Podrían ayudarme por favor????


Gracias,



LGG

Mod: los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines