Răspuns :
Răspuns:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
cin >> n;
char cuvinte[100][20];
for (int i = 0; i < n; i++)
{
char cuvant[20];
cin >> cuvant;
strcpy(cuvinte[i], cuvant);
}
int ordonate = 0;
while (ordonate == 0)
{
ordonate = 1;
for (int i = 0; i < (n - 1); i++)
{
if (cuvinte[i][0] > cuvinte[i + 1][0])
{
char aux[20];
strcpy(aux, cuvinte[i]);
strcpy(cuvinte[i], cuvinte[i + 1]);
strcpy(cuvinte[i + 1], aux);
ordonate = 0;
}
}
}
char cuvinteFolosite[100][20];
int indexCuvinteFolosite = 0;
for (int i = 0; i < n; i++)
{
int folosit = 0;
for (int j = 0; j < n; j++)
{
if (strcmp(cuvinteFolosite[j], cuvinte[i]) == 0)
{
folosit = 1;
}
}
if (folosit == 0)
{
cout << cuvinte[i] << " ";
strcpy(cuvinteFolosite[indexCuvinteFolosite], cuvinte[i]);
indexCuvinteFolosite++;
}
}
return 0;
}
Explicație:
Dupa ce am citit sirurile de caractere de la tastatura
Le ordonam in ordine crescatoare pe baza primului caracter folosind metoda bubblesort => ordonare aflabetica
dupa aceea parcurgem vectorul de cuvinte ordonat alfabetic si in acelas timp folosim un alt vector "cuvinteFolosite" pentru a tine cont de cuvintele care deja au fost afisare.
Daca cuvantul de pe pozitia "i" din vectorul "cuvinte" nu se afla in vectorul "cuvinteFolosite", il afisam pe ecran si il adaugam in vectorul "cuvinteFolosite"
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru orice întrebări sau sprijin suplimentar, suntem aici pentru voi – nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și vă sugerăm să ne salvați în lista de site-uri preferate!