-
Posts
10 -
Cadastrado em
-
Última visita
Reputação
9-
Boa noite! Estou com esse cabo danificado e quero trocar por um novo, é possível encontrar algo assim no padrão tripolar brasileiro? Se não for possível no padrão brasileiro, onde posso encontrar um cabo que funcione?
-
C++ calcular e exibir um histograma de caracteres passados como argumento
junglerfullclear respondeu ao tópico de junglerfullclear em C/C#/C++
Muito obrigado pessoal!! -
C++ calcular e exibir um histograma de caracteres passados como argumento
junglerfullclear postou um tópico em C/C#/C++
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; } -
C++ Algoritmo - atividades sobre filas
junglerfullclear respondeu ao tópico de junglerfullclear em C/C#/C++
@arfneto Muito obrigado! Sempre afiado nas observações, obrigado mesmo!!! -
Boa noite! Fiz essa atividade sobre filas e encaminhei ela segunda, 28/11, ainda não recebi um feedback, mas gostaria de saber se ficou minimamente decente. #include <iostream> #include <queue> using namespace std; void display_queue(queue<string>q); void display_queue(queue<string>q) { while(!q.empty()) { cout << q.front() << " - "; q.pop(); } } int main() { int x; string y; queue<string> clientes; cout<< "DIGITE 1 para adicionar um novo cliente no final da fila \n"; cout<< "DIGITE 2 para remover o cliente do inicio da fila \n"; cout<< "DIGITE 3 para imprimir todos os clientes da fila \n"; cout<< "DIGITE 4 para imprimir a quantidade de clientes na fila \n"; cout<< "DIGITE 5 para excluir os clientes da fila \n"; while (x != 5) { cout << "ESCOLHA ALGUM CASO:" << endl; cin >> x; switch (x) { case 1: { cout << "digite o nome" << endl; cin >> y; clientes.push(y); cout << "cliente adicionado a fila" << endl; } break; case 2: { clientes.pop(); cout << "cliente removido da fila" << endl; } break; case 3: { cout << "fila atual: "; display_queue(clientes); cout << endl; } break; case 4: { cout << "tamanho da fila: " << clientes.size() << endl; } break; case 5: { terminate; } break; } } }
-
C++ Atividade do curso sobre algoritmos
junglerfullclear respondeu ao tópico de junglerfullclear em C/C#/C++
-
Boa noite pessoal! Estou pensando em comprar um Ryzen 7 5800X3 ou i5-13600K. Quais seriam bons chipsets ou modelos de placas-mãe para esses dois processadores?
-
C++ Atividade do curso sobre algoritmos
junglerfullclear respondeu ao tópico de junglerfullclear em C/C#/C++
@arfneto Muito bom! Agora não tenho tempo livre, já está muito tarde, mas amanhã vou sentar a ***** na cadeira e recomeçar esse código. Muito obrigado pelas informações e conselhos, elucidou muita coisa. Abraço! -
Boa noite pessoal!! Tem alguma coisa que eu poderia melhorar nesse código? #include <iostream> using namespace std; // classe para nodo da pilha class nodoPilha { public: string data; nodoPilha *proximo; }; nodoPilha *novoNodo(string data) { nodoPilha *nodo = new nodoPilha(); nodo->data = data; nodo->proximo = NULL; return nodo; } int isEmpty(nodoPilha *base) { return !base; } void push(nodoPilha **base, string novoItem) { nodoPilha *nodo = novoNodo(novoItem); nodo->proximo = *base; *base = nodo; } string pop(nodoPilha **base) { if (isEmpty(*base)) return NULL; nodoPilha *temp = *base; *base = (*base)->proximo; string popped = temp->data; free(temp); return popped; } string peek(nodoPilha *base) { if (isEmpty(base)) return NULL; return base->data; } int imprimePilha(nodoPilha* base) { if (isEmpty(base)){ return -1; } else { cout << "Os itens da pilha são: "<<endl ; while (base != NULL) { cout<< base->data << endl; base = base->proximo; } } cout << endl; return 0; } void esvaziaPilha(nodoPilha** base) { while(!isEmpty(*base)) { nodoPilha* temp = *base; *base = (*base)->proximo; free(temp); } cout << "A pilha foi esvaziada :/" << endl; } bool checker(string a) { char url[] = "http"; int count = 0; for (int i = 0; i < 4; i++) { if (a[i] == url[i]) { count++; } } if (count == 4) { return true; } else { return false; } } int main() { cout << "SELECIONE A OPÇÃO DESEJADA:" << endl << "digite 1 para ADICIONAR uma URL ao registro " << endl << "digite 2 para REMOVER o último registro " << endl << "digite 3 para IMPRIMIR todas as URLs salvas " << endl << "digite 4 para EXCLUIR várias URLs registradas (defina a quantidade) " << endl << "digite 5 para FINALIZAR o programa. " << endl; int selec = 0; int NError = 0; nodoPilha *base = NULL; while (selec != 5) { cout << "-----------------------------" << endl; cout << "ESCOLHA UMA OPCAO" << endl; cin >> selec; switch (selec) { case 1: { cout << "digite uma URL a ser adicionada" << endl; string value; cin >> value; cout << "------------------------" << endl; if (checker(value) == true) { cout << "url adicionada!" << endl; push(&base, value); NError++; } else { cout << "insira uma url válida " << endl; } } break; case 2: { if (NError > 0) { cout << "Removendo item do topo da pilha" << endl; pop(&base); } else { cout << "não ha nada para remover" << endl; } } break; case 3: { if (NError > 0) { if (!isEmpty(base)) { imprimePilha(base); } } else { cout << "pilha vazia" << endl; } } break; case 4: { cout << "Quantas urls serao removidas: " << endl; int remove = 0; cin >> remove; if (remove > NError) { esvaziaPilha(&base); NError = 0; } else { for (int i = 0; i < remove; i++) { NError--; pop(&base); } cout << "removido" << endl; } } break; case 5: { } break; default: cout << "insira valor válido" << endl; return selec = 5; break; } } }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais