Boa tarde gurizada!
Hoje faremos a apresentação de algum dos trabalhos que tivemos durante o semestre. Devemos escolher o trabalho com a nota mais baixa, refazer com os conhecimentos adquiridos durante o semestre, e, apresentar para a turma.
Eu refiz meu primeiro trabalho, fiz duas versões dele, gostaria que alguém desse a opinião de qual ficou mais conciso.
Primeiro código
#include <iostream>
#include <string>
using namespace std;
const int tamanho = 26;
const int nLetras = 26;
int counts[nLetras] = {};
void count(char [], int []);
int main()
{
int counts[nLetras];
char t[tamanho];
cout << "Digite algo: ";
cin.getline(t, '\n');
count(t, counts);
for (int i = 0; i < nLetras; i++)
{
cout << counts[i] << " " << static_cast<char>(i + 'a') << endl;
}
}
void count(char s[], int counts[])
{
for (int i = 0; i < nLetras; i++)
{
counts[i] = 0;
}
for (int i = 0; i < tamanho; i++)
{
{
s[i] = tolower(s[i]);
counts[s[i] - 'a'] ++;
}
}
}
Segundo código
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{ // pede um argumento que seria a palavra
string palavra = argv[1]; // aqui é o segundo argumento
cout << "A palavra selecionada é: " << argv[1] << endl; // mostra a palavra que foi escolhida
char letra[palavra.length()]; // determina o tamanho do arranjo, porque o palavra.length é o tamanho da palavra.
int letrasRepetidas[palavra.length()];
int contador = 0;
int maisRepetido = 0;
char letraRepetida; // para dizer quais letras foram repetidas
for (int i = 0; i < palavra.length(); i++)
{
for (int j = 0; j < palavra.length(); j++)
{
letra[j] = palavra[j]; // vai organizar a palavra dentro do arranjo
if (letra[i] == letra[j]) // se a letra for igual a outra letra vai contar no letras repetidas
{
contador++;
letrasRepetidas[i] = contador;
}
}
contador = 0; // é pra dizer que a letra antes de repetir tem valor 0 e quando ela se repete ela vai atribuindo o valor de 1.
if (letrasRepetidas[i] > 1)
{
cout << "'" << letra[i] << "' Apareceu mais de uma vez" << endl;
}
else
{
cout << "'" << letra[i] << "' Apareceu uma vez" << endl;
}
if (maisRepetido < letrasRepetidas[i])
{
maisRepetido = letrasRepetidas[i];
letraRepetida = letra[i];
}
}
cout << "\nO Caractere que mais se repitiu foi '" << letraRepetida << "' com " << maisRepetido << " repetições" << endl;
return EXIT_SUCCESS;
}