Ma ktoś jakiś pomysł, dlaczego? Z góry dzięki za pomoc.
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
long int tablica[100];
int n,e=0,licznik=0;
cout << "Ile liczb? ";
cin >> n;
int ile=0;
for(int i=0; i<n; i++)
{
cout << "Podaj liczbe numer " << i+1 << ": ";
cin >> e;
tablica[i]=e;
}
cout << endl << "Tablica przed usunieciem duplikatow: ";
for(int j=0; j<n; j++)
{
cout << tablica[j] << ",";
}
cout << endl;
for(int k=0; k<n; k++)
{
for(int l=0; l<n; l++)
{
if((tablica[k]==tablica[l]) && (l<=n) && (k!=l))
{
tablica[k]=tablica[k-1];
licznik++;
}
}
}
cout << endl << "Tablica po usunieciu duplikatow: ";
for(int o=licznik; o<n; o++)
{
cout << tablica[o] << ",";
}
cout << endl;
return 0;
}[ Dodano: 2009-04-08, 23:33 ]
Udało mi się zrobić ale dla elementów niezerowych:
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
long int tablica[100];
int n,e=0,licznik=0;
cout << "Ile liczb? ";
cin >> n;
int ile=0;
for(int i=0; i<n; i++)
{
cout << "Podaj liczbe numer " << i+1 << ": ";
cin >> e;
tablica[i]=e;
}
cout << endl << "Tablica przed usunieciem duplikatow: ";
for(int j=0; j<n; j++)
{
cout << tablica[j] << ",";
}
cout << endl;
for(int k=0; k<n; k++)
{
for(int l=0; l<n; l++)
{
if((tablica[k]==tablica[l]) && (l<=n) && (k!=l))
{
tablica[k]=0;
licznik++;
}
}
}
cout << endl << "Tablica po usunieciu duplikatow: ";
for(int o=0; o<n; o++)
{
if(tablica[o]!=0)
cout << tablica[o] << ",";
}
cout << endl;
return 0;
}[ Dodano: 2009-04-08, 23:58 ]
Ok już mam, zastosowałem swoją metodę z tablicą pomocniczą
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
long int tablica[100], duplikaty[100];
int n,e=0;
cout << "Ile liczb? ";
cin >> n;
int ile=0;
for(int i=0; i<n; i++)
{
cout << "Podaj liczbe numer " << i+1 << ": ";
cin >> e;
tablica[i]=e;
}
cout << endl << "Tablica przed usunieciem duplikatow: ";
for(int j=0; j<n; j++)
{
cout << tablica[j] << ",";
}
cout << endl;
for(int k=0; k<n; k++)
{
for(int l=k; l<n; l++)
{
if((tablica[k]==tablica[l]) && (l<=n) && (k!=l))
{
if(tablica[k]==tablica[l])
{
duplikaty[k]=0;
}
}
}
}
cout << endl << "Tablica po usunieciu duplikatow: ";
for(int o=0; o<n; o++)
{
if(duplikaty[o]!=0)
cout << tablica[o] << ",";
}
cout << endl;
system("pause");
return 0;
}