Ir ao conteúdo
  • Cadastre-se

Welington Silva 2002

Membro Pleno
  • Posts

    30
  • Cadastrado em

  • Última visita

Reputação

19

1 Seguidor

  1. Olá, pessoal. Eu sou iniciante em blender, sei muito pouco. Estou tentando gerar a animação em anexo, mas tenho alguns problemas nela: luzes opacas, background n aparece e tal. alguém poderia editar esses detalhes e me enviar se for fácil?? O arquivo blender está aí: https://drive.google.com/drive/folders/1eIYLd4nOISG2rLffK88r7k16l8Js3_Wr?usp=sharing Desde já, mt obrigado.
  2. De uns tempos pra cá, meu VEGAS PRO 17 começou a apresentar falhas no áudio... Acontece que tudo está perfeito, aí após renderizar, o áudio simplesmente estoura, ou fica inaudível ou fica péssimo de se ouvir. (Mas se reiniciar o Vegas, ele volta ao normal, mas se renderizar volta o defeito... ) Antes não dava isso... Alguém pode me ajudar?
  3. @arfneto Eu devia ter mandado o código... Aí está... Ainda não consegui. Então seria bom eu passar o elemento de cada percorrida na Lista para a função remove, certo? #include <iostream> using namespace std; struct No { int Info; No * Lig; }; typedef struct No *NoPtr; void InsereLista (NoPtr& L, int Novo) { if (L == NULL) { // INSERÇÃO DO PRIMEIRO NÓ L = new No; L->Info = Novo; L->Lig = NULL; } else { // AJUSTA PONTEIROS ANT E AUX NoPtr Ant = NULL; NoPtr Aux = L; while((Aux != NULL)&&(Aux->Info < Novo)) {//ENCONTRA POSIÇÃO Ant = Aux; Aux = Aux->Lig; } Aux = new No; Aux->Info = Novo; // INSERE O NO E AJUSTA PONTEIROS if (Ant == NULL) { Aux->Lig = L; L = Aux; } else { Aux->Lig = Ant->Lig; Ant->Lig = Aux; } } } bool RetiraLista (NoPtr& L, int Novo) { //serve para passagem do elemento, tipo RetiraLista (L1, 3) NoPtr Ant = NULL; NoPtr Aux = L; while ((Aux != NULL) && (Aux->Info != Novo)) { // TENTA ENCONTRAR ELEMENTO Ant = Aux; Aux = Aux->Lig; } if (Aux == NULL) return false; // RETORNA FALSO SE NÃO ENCONTRA ELEMENTO if (Aux == L) // SE ELEMENTO É O PRIMEIRO, REDIRECIONA O PONTEIRO L = L->Lig; else Ant->Lig = Aux->Lig; // REDIRECIONA O PONTEIRO delete Aux; // APAGA O ELEMENTO return true; } void ImprimeLista (NoPtr L) { NoPtr Ant = NULL; NoPtr Aux = L; cout << "L -> "; while ((Aux != NULL)) { Ant = Aux; Aux = Aux->Lig; cout << Ant->Info << " -> "; } if (Aux == NULL) cout << "NULL" << endl; } bool RemoveRepetidos (NoPtr& L) //Sem funcao ainda, nem chamei na main() { NoPtr Ant = NULL; NoPtr Aux = L; // RemoveRepetidos (Aux->Lig); //Havia tentado algo recursivo } int main () { NoPtr L1 = NULL; InsereLista(L1, 1); InsereLista(L1, 4); InsereLista(L1, 2); InsereLista(L1, 2); //_______________________________________________________________ cout<<"LISTA NORMAL: "<<endl; ImprimeLista(L1); cout<<endl; cout<<"LISTA SEM REPETIDOS: "<<endl; // RemoveRepetidos(L1); //_______________________________________________________________ return 0; } Na verdade,a questao pede para fazer com listas... Não especificou nao... entao se for mais fácil com duplamente encadeada ou generalizada, acredito que podem ser usadas Entendi entendi, vou tentar aqui. Obrigado! @arfneto @arfneto Eu fiz isso aqui, saberia me dizr onde to errando? #include <iostream> using namespace std; struct No { int Info; No * Lig; }; typedef struct No *NoPtr; void InsereLista (NoPtr& L, int Novo) { if (L == NULL) { // INSERÇÃO DO PRIMEIRO NÓ L = new No; L->Info = Novo; L->Lig = NULL; } else { // AJUSTA PONTEIROS ANT E AUX NoPtr Ant = NULL; NoPtr Aux = L; while((Aux != NULL)&&(Aux->Info < Novo)) {//ENCONTRA POSIÇÃO Ant = Aux; Aux = Aux->Lig; } Aux = new No; Aux->Info = Novo; // INSERE O NO E AJUSTA PONTEIROS if (Ant == NULL) { Aux->Lig = L; L = Aux; } else { Aux->Lig = Ant->Lig; Ant->Lig = Aux; } } } bool RetiraLista (NoPtr& L, int Novo) { NoPtr Ant = NULL; NoPtr Aux = L; while ((Aux != NULL) && (Aux->Info != Novo)) { // TENTA ENCONTRAR ELEMENTO Ant = Aux; Aux = Aux->Lig; } if (Aux == NULL) return false; // RETORNA FALSO SE NÃO ENCONTRA ELEMENTO if (Aux == L) // SE ELEMENTO É O PRIMEIRO, REDIRECIONA O PONTEIRO L = L->Lig; else Ant->Lig = Aux->Lig; // REDIRECIONA O PONTEIRO delete Aux; // APAGA O ELEMENTO return true; } void ImprimeLista (NoPtr L) { NoPtr Ant = NULL; NoPtr Aux = L; cout << "L -> "; while ((Aux != NULL)) { Ant = Aux; Aux = Aux->Lig; cout << Ant->Info << " -> "; } if (Aux == NULL) cout << "NULL" << endl; } bool RemoveRepetidos (NoPtr& L) { NoPtr Ant = NULL; NoPtr Aux = L; int valor; while(Aux!=NULL){ if(Ant==NULL) return false; if(Ant==Aux){ RetiraLista(Aux, valor); Ant=Aux; Aux = Aux->Lig; return true; } } } int main () { NoPtr L1 = NULL; InsereLista(L1, 1); InsereLista(L1, 4); InsereLista(L1, 2); InsereLista(L1, 2); cout<<"LISTA NORMAL: "<<endl; ImprimeLista(L1); cout<<endl; cout<<"LISTA SEM REPETIDOS: "<<endl; while(RemoveRepetidos(L1)) ImprimeLista(L1); cout<<endl; return 0; }
  4. Opa galera. Minha dúvida é o melhor modo de se fazer isso com ponteiros, já pensei de tudo, testei mas nao deu... Alguém pode me dar um norte?
  5. @mick 07 2AM E550. Mais informações no perfil.
  6. Galera, tenho um Notebook , ele tem SSD e HD. O S. O está no SSD (win10). Ele ligava antes em 25 segundos. Agora eu aperto o botão de power e ele acende a luz e desliga na hora. Depois aperto de novo, ele inicia o teclado RGB e após 10 segundos desliga. (Quando ele desliga, faz um barulho, como se fosse um relé...) ai na terceira tentativa (sempre) ele liga, demorando uns 30 segundos... O que pode ser??
  7. Fala galera. Esse teclado aqui vale a pena?? Eu sou programador iniciante, 2° período da facul de Controle e Automação. Jogo as vezes um CSGO e tal, mas o teclado seria mais pra programar e afins... Pra valer a pena tem que ser mecânico de verdade... Senão eu compro um de 30 reais ora bolas. Promoção da kabum (se é que é mesmo promoção) Teclado Mecânico Gamer T-Dagger Bora Single, LED White, Switch Blue, ABNT2 - T-TGK313-BL (PT-WHITE)
  8. @other2w Mt obrigado mano, pois é, realmente não vai dar... Kkkk Não roda... Muito lento, até nos gráficos mínimos. Acho que só se eu por até uns 32Gb ram e fosse uma placa gráfica melhorzinha, processador e afins mesmo... Valeu! Tem algum outro simulador de voo que você acha que rode no meu note e seja bom?
  9. Fala galera. Tenho um notebook 2AM gaming E550. 8 GB RAM 1TB HD Core i3 9° gn GTX 1050 Bom, estou querendo saber se alguém sabe uma configuração legal para rodar com bom fps e sem travamentos... Imagino que seja **médio**. Níveis: Baixo - Médio - Alto - Ultra
  10. Boa noite, caros amigos. Nesse exercício preciso inverter uma fila passada por parâmetro na main... Algo do tipo: //inserindo a fila Fila F; IniciaFila(F); int elemento; InsereFila(F, 1); InsereFila(F, 2); InsereFila(F, 3); InsereFila(F, 4); //1 2 3 4 e imprimir invertida: >>>> 4 3 2 1 Já sei e tenho todas as funções implementadas. O que preciso é um toque, uma instigação para saber como inverter de forma simples e DINAMICAMENTE. Desde já, muitíssimo obrigado!
  11. @mauro_b Eu tinha feito bobeira mesmo.... mt obgd!!!! Mudei o código, deu certo agora.... Código: #include <cstdlib> #include <iostream> using namespace std; struct No { int Info; No *Lig; }; typedef No *Pilha; void IniciaPilha(Pilha& Topo){ Topo = NULL; } Pilha TopoPilha(Pilha Topo){ No *Aux = new No; Aux = Topo; return Aux; } bool PilhaVazia(Pilha Topo){ if (Topo == NULL) return true; return false; } void Empilha(Pilha& Topo, int Elemento){ No *Aux = new No; Aux->Info = Elemento; Aux->Lig = Topo; Topo = Aux; } bool Desempilha(Pilha& Topo, int& Elemento){ if (PilhaVazia(Topo)) return false; Elemento = Topo->Info; No *Aux = Topo; Topo = Topo->Lig; delete Aux; return true; } int TamanhoPilha(Pilha Topo){ int elemento; int tam = 0; Pilha Aux; IniciaPilha(Aux); while(Desempilha(Topo,elemento)){ Empilha(Aux,elemento); tam++; } while(Desempilha(Aux,elemento)) Empilha(Topo,elemento); return tam; } Pilha SomaPilhas(Pilha P1, Pilha P2){ Pilha P3, DadosInvertidos; IniciaPilha(P3); IniciaPilha(DadosInvertidos); int soma = 0, elemento = 0; while(P1 != NULL || P2 != NULL){ //ENQUANTO NÃO PERCORRER AS 2 FILAS COMPLETAMENTE if(P1 != NULL && P2 == NULL) //SE P2 ACABOU, EMPILHA SÓ P1 Empilha(DadosInvertidos, P1->Info); if(P2 != NULL && P1 == NULL) //SE P1 ACABOU, EPILHA SÓ P2 Empilha(DadosInvertidos, P2->Info); if(P1 != NULL && P2 != NULL){ //SE NENHUMA ACABOU, EMPILHA A SOMA soma = P1->Info + P2->Info; Empilha(DadosInvertidos, soma); } if(P1 != NULL) //INTERTRAVAMENTO P1 P1 = P1->Lig; if(P2 != NULL) //INTERTRAVAMENTO P2 P2 = P2->Lig; soma = 0; //ZERANDO SOMA A CADA ITERAÇÃO } while(Desempilha(DadosInvertidos, elemento)){ //OBTENDO ORDEM CORRETA EM P3 Empilha(P3, elemento); } return P3; } bool ImprimePilha (Pilha P){ No *Aux = P; if(PilhaVazia(P)){ cout<<"\nA pilha se encontra vazia!"<<endl; return false; } else{ while(Aux != NULL){ cout<<" "<<Aux->Info<<endl; Aux = Aux->Lig; } } } int main(){ Pilha P1, P2, P3; IniciaPilha(P1); IniciaPilha(P2); int Elemento; Empilha(P1, 1); Empilha(P1, 2); Empilha(P1, 3); Empilha(P2, 4); Empilha(P2, 5); Empilha(P2, 6); cout<<"EIS A PILHA 1:\n"; ImprimePilha(P1); cout<<"\nEIS A PILHA 2:\n"; ImprimePilha(P2); cout<<"\nEIS A SOMA DAS PILHAS 1 E 2:\n"; P3 = SomaPilhas(P1, P2); ImprimePilha(P3); cout<<endl; system ("PAUSE"); return 0; }
  12. Fala galera! Fiz um código em que eu somo duas pilhas passadas por parâmetro na main. O problema é que não consigo dar o print na tela com os valores somados e acho que é alguma bobeira kkkk. Quebrei a cabeça dms já. Ele só imprime a pilha : 1 1 1 O código: #include <cstdlib> //SOMAR DUAS PILHAS #include <iostream> using namespace std; struct No { int Info; No *Lig; }; typedef No *Pilha; void IniciaPilha(Pilha& Topo){ Topo = NULL; } Pilha TopoPilha(Pilha Topo){ No *Aux = new No; Aux = Topo; return Aux; } bool PilhaVazia(Pilha Topo){ if (Topo == NULL) return true; return false; } void Empilha(Pilha& Topo, int Elemento){ No *Aux = new No; Aux->Info = Elemento; Aux->Lig = Topo; Topo = Aux; } bool Desempilha(Pilha& Topo, int& Elemento){ if (PilhaVazia(Topo)) return false; Elemento = Topo->Info; No *Aux = Topo; Topo = Topo->Lig; delete Aux; return true; } Pilha somapilhas(Pilha P1, Pilha P2) { int v1, v2; Pilha P3; IniciaPilha(P3); while((P1->Lig!=NULL)&&(P2->Lig!=NULL)){ // ENQUANTO NÃO HOUVER PilhA VAZIA Desempilha(P1,v1); Desempilha(P2,v2); Empilha(P3, v1+v2); } while(P1->Lig!=NULL){ Desempilha(P1,v1); Empilha(P3,v1);} while(P2->Lig!=NULL){ Desempilha(P2,v2); Empilha(P3,v2);} return P3; } int main() { Pilha P1; IniciaPilha(P1); Pilha P2; Pilha P3; IniciaPilha(P2); int Elemento; Empilha(P1, 1); Empilha(P1, 2); Empilha(P1, 3); Empilha(P2, 4); Empilha(P2, 4); Empilha(P2, 5); somapilhas(P1, P2); while(!PilhaVazia(P1)) { cout << Desempilha(P1, Elemento) << endl; } cout << endl; while(!PilhaVazia(P2)) { cout << Desempilha(P2, Elemento) << endl; } cout << endl; while(!PilhaVazia(P3)) { cout <<somapilhas(P1, P2)<< endl; } return 0; }
  13. @arfneto Muito bom!!! Vou postar meu código aqui, como eu já havia feito: Vou modularizar cm funções depois. //TRABALHO 1 -- UNIFEI - //WELINGTON SILVA (E.C.A) #include <iostream> //cin cout #include <fstream> //ofstream, ifstream, fstream #include <stdlib.h> //system pause #include <math.h> //calcular função 01 using namespace std; //cout,cin int main() { ofstream grava; // grava = variável para escrever os dados em um arquivo Arq02.txt // OBS.: ALTERE os diretorios abaixo para o local onde estes arquivo se encontram!!! grava.open("C:/Users/welin/Desktop/AEDS/PROJECTS/PROJ1 - ARQ01/Arq02.txt"); //diretorio int i, j; //variaveis de iteração int l = 0, c = 0; //variaveis para o tamanho do vetor coluna [500][1] //dos dados a serem lidos em Ar01.txt ifstream readFile; // variável para ler um arquivo .txt // readFile = variável qualquer de leitura do arquivo 'Arq01.txt' que contém os valores desejados de entrada // OBS.: ALTERE os diretorios abaixo para o local onde estes arquivo se encontram!!! readFile.open("C:/Users/welin/Desktop/AEDS/PROJECTS/PROJ1 - ARQ01/Arq01.txt"); if(readFile) { // Lê a primeira linha do arquivo, onde contém o número de linhas e colunas e armazena // estes valores nas variáveis l e c, respectivamente, coloquei 500 e 1 em Arq01 no inicio readFile >> l >> c; cout << endl << "Initializing..." << endl //pra ficar bonitinho << endl; float matriz[l][c]; // matriz para ler os valores do arquivo Arq01.txt // Armazena os valores contidos no arquivo Arq01.txt na matriz 'matriz' for (i = 0; i < l; i++) //pegando os valores em Arq01, linha por linha do vetor coluna { for (j = 0; j < c; j++) { readFile >> matriz[i][j]; //lê cada linha e imprime (no cout abaixo) para se ter o controle do processo cout <<i<<" "<< j << " "<<matriz[i][j]<<endl; //somente para controle } } //fim de aquisição, inicio de manipulação cout << endl << "Tratando dados na funcao..." << endl //mais uma vez, para ficar bonitinho << endl; float y[l][c]; //outra matriz y[500][1] só que para gravar agr for (i=0; i<l; i++) //iteração { for (j = 0; j < c; j++) { float x = matriz[i][j]; //x recebe o valor de cada linha lido no Arq01.txt e é usado na função y[i][j] = x* cos(x)* sin(x); //função 01 grava << y[i][j] << endl; //"grava" recebe os valores tratados e armazena em Arq02.txt cout <<y[i][j]<<endl; //imprime os valores já tratados } } } else {cout<<"\n\tDiretorio incorreto para leitura do arquivo Arq01.txt. Digite um diretorio valido!"<<endl<<endl<<endl;} system ("pause"); //pausa o programa return 0; //fim do processamento } adicionado 0 minutos depois @devair1010 adicionado 2 minutos depois Esses são os valores de Arq01.txt (o 500 1) é só para usar como matriz 500 1 -50 -49.8 -49.599 -49.399 -49.198 -48.998 -48.798 -48.597 -48.397 -48.196 -47.996 -47.796 -47.595 -47.395 -47.194 -46.994 -46.794 -46.593 -46.393 -46.192 -45.992 -45.792 -45.591 -45.391 -45.19 -44.99 -44.79 -44.589 -44.389 -44.188 -43.988 -43.788 -43.587 -43.387 -43.186 -42.986 -42.786 -42.585 -42.385 -42.184 -41.984 -41.784 -41.583 -41.383 -41.182 -40.982 -40.782 -40.581 -40.381 -40.18 -39.98 -39.78 -39.579 -39.379 -39.178 -38.978 -38.778 -38.577 -38.377 -38.176 -37.976 -37.776 -37.575 -37.375 -37.174 -36.974 -36.774 -36.573 -36.373 -36.172 -35.972 -35.772 -35.571 -35.371 -35.17 -34.97 -34.77 -34.569 -34.369 -34.168 -33.968 -33.768 -33.567 -33.367 -33.166 -32.966 -32.766 -32.565 -32.365 -32.164 -31.964 -31.764 -31.563 -31.363 -31.162 -30.962 -30.762 -30.561 -30.361 -30.16 -29.96 -29.76 -29.559 -29.359 -29.158 -28.958 -28.758 -28.557 -28.357 -28.156 -27.956 -27.756 -27.555 -27.355 -27.154 -26.954 -26.754 -26.553 -26.353 -26.152 -25.952 -25.752 -25.551 -25.351 -25.15 -24.95 -24.749 -24.549 -24.349 -24.148 -23.948 -23.747 -23.547 -23.347 -23.146 -22.946 -22.745 -22.545 -22.345 -22.144 -21.944 -21.743 -21.543 -21.343 -21.142 -20.942 -20.741 -20.541 -20.341 -20.14 -19.94 -19.739 -19.539 -19.339 -19.138 -18.938 -18.737 -18.537 -18.337 -18.136 -17.936 -17.735 -17.535 -17.335 -17.134 -16.934 -16.733 -16.533 -16.333 -16.132 -15.932 -15.731 -15.531 -15.331 -15.13 -14.93 -14.729 -14.529 -14.329 -14.128 -13.928 -13.727 -13.527 -13.327 -13.126 -12.926 -12.725 -12.525 -12.325 -12.124 -11.924 -11.723 -11.523 -11.323 -11.122 -10.922 -10.721 -10.521 -10.321 -10.12 -9.9198 -9.7194 -9.519 -9.3186 -9.1182 -8.9178 -8.7174 -8.517 -8.3166 -8.1162 -7.9158 -7.7154 -7.515 -7.3146 -7.1142 -6.9138 -6.7134 -6.513 -6.3126 -6.1122 -5.9118 -5.7114 -5.511 -5.3106 -5.1102 -4.9098 -4.7094 -4.509 -4.3086 -4.1082 -3.9078 -3.7074 -3.507 -3.3066 -3.1062 -2.9058 -2.7054 -2.505 -2.3046 -2.1042 -1.9038 -1.7034 -1.503 -1.3026 -1.1022 -0.9018 -0.7014 -0.501 -0.3006 -0.1002 0.1002 0.3006 0.501 0.7014 0.9018 1.1022 1.3026 1.503 1.7034 1.9038 2.1042 2.3046 2.505 2.7054 2.9058 3.1062 3.3066 3.507 3.7074 3.9078 4.1082 4.3086 4.509 4.7094 4.9098 5.1102 5.3106 5.511 5.7114 5.9118 6.1122 6.3126 6.513 6.7134 6.9138 7.1142 7.3146 7.515 7.7154 7.9158 8.1162 8.3166 8.517 8.7174 8.9178 9.1182 9.3186 9.519 9.7194 9.9198 10.12 10.321 10.521 10.721 10.922 11.122 11.323 11.523 11.723 11.924 12.124 12.325 12.525 12.725 12.926 13.126 13.327 13.527 13.727 13.928 14.128 14.329 14.529 14.729 14.93 15.13 15.331 15.531 15.731 15.932 16.132 16.333 16.533 16.733 16.934 17.134 17.335 17.535 17.735 17.936 18.136 18.337 18.537 18.737 18.938 19.138 19.339 19.539 19.739 19.94 20.14 20.341 20.541 20.741 20.942 21.142 21.343 21.543 21.743 21.944 22.144 22.345 22.545 22.745 22.946 23.146 23.347 23.547 23.747 23.948 24.148 24.349 24.549 24.749 24.95 25.15 25.351 25.551 25.752 25.952 26.152 26.353 26.553 26.754 26.954 27.154 27.355 27.555 27.756 27.956 28.156 28.357 28.557 28.758 28.958 29.158 29.359 29.559 29.76 29.96 30.16 30.361 30.561 30.762 30.962 31.162 31.363 31.563 31.764 31.964 32.164 32.365 32.565 32.766 32.966 33.166 33.367 33.567 33.768 33.968 34.168 34.369 34.569 34.77 34.97 35.17 35.371 35.571 35.772 35.972 36.172 36.373 36.573 36.774 36.974 37.174 37.375 37.575 37.776 37.976 38.176 38.377 38.577 38.778 38.978 39.178 39.379 39.579 39.78 39.98 40.18 40.381 40.581 40.782 40.982 41.182 41.383 41.583 41.784 41.984 42.184 42.385 42.585 42.786 42.986 43.186 43.387 43.587 43.788 43.988 44.188 44.389 44.589 44.79 44.99 45.19 45.391 45.591 45.792 45.992 46.192 46.393 46.593 46.794 46.994 47.194 47.395 47.595 47.796 47.996 48.196 48.397 48.597 48.798 48.998 49.198 49.399 49.599 49.8 50 adicionado 5 minutos depois Para gerar o gráfico em MatLab, fiz assim: valores_y = load('C:/Users/welin/Desktop/AEDS/PROJECTS/PROJ1 - ARQ01/Arq02.txt'); % comando para carregar valores de um arquivo valores_x = load('C:/Users/welin/Desktop/AEDS/PROJECTS/PROJ1 - ARQ01/Arq01x.txt'); % comando para carregar valores de um arquivo figure('Name','GRAFICO GERADO') plot(valores_x, valores_y) % cria um gráfico contínuo xlabel('X') ylabel('f(x)') title('f(x) = x cos(x) sin(x)') grid on
  14. @Mauro Britivaldo Exatamente como estou fazendo, assisti a vários vídeos, pesquisei em vários fóruns e a ideia está se desenvolvendo... Muito obrigado!!! adicionado 2 minutos depois @devair1010 exatamente como estou tentando agora. Antes eu tava tentando com arquivoE.is_open()) { while(getline(arquivoE, linha) Mais ou menos assim, só que isso dava ruim por conta do getline, mesmo que eu tentasse usar atoi, strtof, coisas do tipo para converter string para float e trabalhar na função 01. Vou tentar por meio do fopen, fscanf e tal em diante... Muitíssimo obrigado !!!

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

×
×
  • Criar novo...