cezarcatarin Postado Junho 30, 2017 Denunciar Share Postado Junho 30, 2017 Podem em ajudar a fazer funcionar esse código e explicar porque não funcionava? #include <iostream> using namespace std; const int DefMax = 20; int Max = 0; int Fila[DefMax]; void CriaFila() { Max = 0; }; bool FilaCheia () { if (Max == DefMax+1) { return true; } else return false; } bool FilaVazia () { if (Max == 0) { return true; } else return false; } void TrataMsg(std::string msg){ std::cout << msg<<std::endl; } void Append (int elemento) { if (FilaCheia()) TrataMsg("Fila está cheia!"); else { Fila[Max] = elemento; Max++; TrataMsg("O elemento foi inserido com sucesso"); } } int Serve () { if (FilaVazia()) { TrataMsg("Fila está Vazia, nenhum elemento pode ser removido!"); return NULL; } else { int retorno = Fila[0]; //Reposicionar os elementos da Fila após a remoção for (int i=0; i<Max; i++) Fila = Fila[i+1]; TrataMsg("O primeiro elemento foi removido da Fila!"); return retorno; } } int Front () { //Exibi o primeiro elemento sem removê-lo da estrutura return Fila[0]; } int Rear () { //Exibi o último elemento sem removê-lo da estrutura return Fila[Max-1]; } void ShowFila(){ for (int i=0; i<=Max-1; i++) { std::cout << "Posicao: "; std::cout << i; std::cout << " - Elemento: "; std::cout << Fila; std::cout << " \n"; } std::cout << "" << std::endl; } int main(int argc, const char * argv[]) { CriaFila(); Append(1); Append(2); Append(3); Append(4); TrataMsg("O elemento que está no começo da Fila é: " + std::to_string(Front())); TrataMsg("O elemento que está no final da Fila é: " + std::to_string(Rear())); ShowFila(); Serve(); TrataMsg("O elemento que está no começo da Fila é: " + std::to_string(Front())); TrataMsg("O elemento que está no final da Fila é: " + std::to_string(Rear())); ShowFila(); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
cezarcatarin
Podem em ajudar a fazer funcionar esse código e explicar porque não funcionava?
#include <iostream>
using namespace std;
const int DefMax = 20;
int Max = 0;
int Fila[DefMax];
void CriaFila() {
Max = 0;
};
bool FilaCheia () {
if (Max == DefMax+1) {
return true;
}
else return false;
}
bool FilaVazia () {
if (Max == 0) {
return true;
}
else return false;
}
void TrataMsg(std::string msg){
std::cout << msg<<std::endl;
}
void Append (int elemento) {
if (FilaCheia())
TrataMsg("Fila está cheia!");
else {
Fila[Max] = elemento;
Max++;
TrataMsg("O elemento foi inserido
com sucesso");
}
}
int Serve () {
if (FilaVazia()) {
TrataMsg("Fila está Vazia, nenhum elemento pode ser removido!");
return NULL;
}
else {
int retorno = Fila[0];
//Reposicionar os elementos da Fila após a remoção
for (int i=0; i<Max; i++)
Fila = Fila[i+1];
TrataMsg("O primeiro elemento foi removido da Fila!");
return retorno;
}
}
int Front () { //Exibi o primeiro elemento sem removê-lo da estrutura
return Fila[0];
}
int Rear () { //Exibi o último elemento sem removê-lo da estrutura
return Fila[Max-1];
}
void ShowFila(){
for (int i=0; i<=Max-1; i++) {
std::cout << "Posicao: ";
std::cout << i;
std::cout << " - Elemento: ";
std::cout << Fila;
std::cout << " \n";
}
std::cout << "" << std::endl;
}
int main(int argc, const char * argv[]) {
CriaFila();
Append(1);
Append(2);
Append(3);
Append(4);
TrataMsg("O elemento que está no começo da Fila é: " + std::to_string(Front()));
TrataMsg("O elemento que está no final da Fila é: " + std::to_string(Rear()));
ShowFila();
Serve();
TrataMsg("O elemento que está no começo da Fila é: " + std::to_string(Front()));
TrataMsg("O elemento que está no final da Fila é: " + std::to_string(Rear()));
ShowFila();
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.