Ir ao conteúdo
  • Cadastre-se

lucasoad399

Membro Pleno
  • Posts

    27
  • Cadastrado em

  • Última visita

Tudo que lucasoad399 postou

  1. Os clássicos são. Comece por Use a cabeça e depois va para Deitel. Recomendo o curso de Lioane Groner de Java.
  2. O forum tá de parabéns. Galera aqui é rápida pra ajudar os coleguinhas!
  3. Po, cara, valeu! Mas isso é usado em alguma coisa? porque vi apenas 1 livro. @rjjj
  4. Como eu controlo isso num loop? int matriz[2][2] = {7,8,9,6} ; int *pm; pm= &matriz[0][0]; cout<<*(pm+2); Enfim, da pra controlar como se a matriz fosse um vetor, mas não como uma matriz.
  5. simplesmente fiquei boiando. Não entendo como controlar a matriz por ponteiro usando sua aritmética ou usar índice. Se puder, usar sintaxe do c++.
  6. lucasoad399

    Livro C

    Linguagem C descomplicada de André Backes. Ele tem um canal no youtube com o mesmo nome. MELHOR LIVRO DE TODOS.
  7. E o QT creator que comentam tanto? Instalei aqui, mas nem consegui usar. É verdade que agora tá pago?
  8. Caras, nem tenho exemplos práticos pra falar disso, foi só uma curiosidade que me veio à mente. Estudo java e c++, mas em java sempre retornei vetores em funções. Entretanto, li num livro aqui que c não retorna array. Achei estranho, tentei e vi que é verdade. Pesquisei na net e vi uma solução no GUJ. O cara usava uma função que retorna um ponteiro para um array. O problema disso era que o array era local, ou seja, quando a função encerrar a execução o ponteiro apontará pra um endereçamento problemático. Era algo mais ou menos assim: int *retornaVetor(int x){ int vetor[x]; return *vetor; } Enfim, se eu quiser retornar um vetor, como faço? Uso struct? Torno o vetor local da função static? Eu testei o código acima e sei que nem compila. Foi só um exemplo de idéias que li. Valeu.
  9. Cara, você postou um código gigante e sem nenhuma função. Sem falar que ta usando muito do while, o que é incomum. Posta só a parte que da erro e usa mais funções pra nao ter um código tão fat. Ah, também não faça um printf tão gigante com tantos \n. Faça vários printf. É melhor para os outros lerem
  10. Cara, vi que um dos seus resultados você mostrou um número negativo. Pelo que vi você junta muitas contas. Talvez o ideal seja usar um double mesmo ou long double só por garantia. Numero negativo, em geral, significa estouro de variável, pois o tipo de dado funciona como uma roleta. Se o tamanho máximo for 345 e você poe 347, a variável recebe -343, ou algo do tipo. A depender do compilador o tamanho do float é de acordo com a arquitetura do seu processador. Enfim, vai de double ou long double. Ah. O sistema ficou da hora, man. Todo desenhadinho no ascii art. kkkk
  11. Poxa, cara. A Força O C++ é forte em você. Onde você estudou string de c++? Eu tenho usado um livro de C (André Backes) (Portanto ,não tem string), porque achei o de Deitel (esse sim de c++) muito demorado e pesado, principalmente por misturar poo desde o início. Basicamente deixei Deitel, também, porque minha faculdade ensina c++ estruturado e depois, quando parte pra POO, usa Java.
  12. @RafaelCLP , Funcionou. Mas você poderia me explicar o que significa isso? cin.peek() <=32 e cin.get()? Qual o problema do codeblocks? Sempre disseram que era melhor que o DevC++, por este estar descontinuado. você se refere ao terminal do codeBlocs ou ao xterm do Fedora? De fato não consigo setar o code::Blocks para o gnome terminal ou o konsole do KDE. Mas será que faria diferença?
  13. Cara, copiei seu código todo pra testar e não rodou. Deu o mesmo problema que o meu. Eu sei que se usar cin>>string roda, mas aí não consigo pegar nome e sobrenome.
  14. Estou fazendo um exercício simples de struct com "objetos" dentro de um for a fim de ler nome e nota para ver a maior nota e dizer o aluno com maior nota e dar o nome e nota dele. por algum motivo, quando itero o índice da algum pau no loop e não há mais leitura de dados. Segue o código: #include <iostream> #include <string> using namespace std; struct Aluno{ double nota; string nome; }; int main() { struct Aluno alunos[3]; for(int i=0;i<3;i++){ cout<< "Diga o nome: "; string prov; getline(cin,prov); alunos[i].nome=prov; cout<<"Diga a nota de "<<alunos[i].nome<<": "<<endl; cin>>alunos[i].nota; } /* struct Aluno melhorAluno=alunos[0]; for(int i=0;i<3;i++){ if(melhorAluno.nota<alunos[i].nota) melhorAluno=alunos[i]; } cout<<"O melhor aluno é "<<melhorAluno.nome<<endl<<"e sua nota é "<<melhorAluno.nota; */ return 0; }
  15. Valeu, man. Vou testar. Posso te adicionar no whatsapp, man? 73-991325558
  16. @Carlos Zanon Esse é um do últimos exercícios do livro de Deitel antes de chegar em ponteiro. Então, creio que devo resolver isso sem ponteiro. Mas de qualquer forma, sei que as funções passam arrays por referência (sei que o conceito se assemelha ao vetor), de modo que consigo ordenar o primeiro ponto se tirar o if (comeco<limite-1), mas não consigo implementar a recursão. adicionado 12 minutos depois Fiz uma pequena alteração e pelo menos agora tá voltando pra main, só que um dos números se repete quando ordeno #include <iostream> using namespace std; void selectionSort(int vetor[], int limite, int comeco=0) { int menor=vetor[comeco]; int aux, pos; for(int i=comeco; i<limite;i++) { if(menor>vetor[i]) { menor=vetor[i]; pos=i; } } aux=vetor[comeco]; vetor[comeco]=menor; vetor[pos]=aux; comeco++; if(comeco<limite-1) { selectionSort(vetor, limite, comeco); } } int main() { int limite=8; int array1[limite]={100,3,25, 103,104, 200,7,64}; selectionSort(array1, limite); cout<<"ARRAYS ORDENADOS:\n"; for(int i=0;i<8;i++) cout<<array1[i]<<" "; cout<<endl; return 0; }
  17. Pessoal, estou há mais de 6h tentando fazer esse exercício, mas por algum motivo o código não compila. Sei que o algoritmo de ordenação está correto, mas a parte que a função chama a si mesma dá algum problema e por algum motivo não volta para main(), talvez caindo num loop/recursão infinito(a); Basicamente, é um exercício de Deitel, em que devo ordenar um array recursivamente. Devo pegar o menor e por no array[0], depois avaliar e por e segundo menor no array[1], até o limite do array. Segue o código do que consegui fazer até agora: #include <iostream> using namespace std; void selectionSort(int vetor[], int limite, int comeco=0) { int menor=vetor[comeco]; int aux, pos; for(int i=comeco; i<limite;i++) { if(menor>vetor[i]) { menor=vetor[i]; pos=i; } } aux=vetor[comeco]; vetor[comeco]=menor; vetor[pos]=aux; comeco++; if(comeco<limite-1) selectionSort(vetor, limite, comeco); } int main() { int array1[8]={100,3,25, 103,104, 200,1,64}; selectionSort(array1, 8); cout<<"ARRAYS ORDENADOS:\n"; for(int i=0;i<8;i++) cout<<array1[i]<<" "; cout<<endl; return 0; } Por favor, se alguém puder ajudar, faz diferença, porque já estou me sentindo burro. kkkk.
  18. lucasoad399

    função recursiva

    velho, fiz, mas tá em c++: int funcao(int vetor[], int limite, int contador=0, int impares=0) { if(contador<limite) { if((vetor[contador]%2==1)&&(vetor[contador]<10)) { return funcao(vetor, limite, contador+1, impares+1); } else { return funcao (vetor, limite, contador+1, impares); } } else { return impares; } } Veja que contador e impares tem argumentos padrão. Não sei se o C aceita isso. Caso nao aceite, os ponha como escopo geral.
  19. Cada percurso é uma variável ou um índice de array, tanto faz. você pega uma variável int ou float menor e bota pra ela receber o valor 1 o faz um loop de varrimento se for na array ou compara na mao se for varias variáveis (Não sei o nível que você tá): if(dist 1>maior) { maior=dist1; } else if(dist2>maior) { maior=dist2; }
  20. Cara, Respondi sua outra pergunta. você precisa reestudar os conceitos de vetor. Esse exercício é pra usar um vetor só. Vetor é um assunto complicado pra quem tá começando (como eu). Recomendo ter um livro pra ler além de tutoriais de internet. André Backes é muito bom pra C e tem aula dele no Youtube. Mas vamos à questão: se são quatro notas o array tem 4 indices de 0 a 3: int total=4; int notas[total]; int soma=0; Soma acumula os valores dos indices de array dentro do loop: soma = soma+notas ou soma+=notas; Se eu falar mais que isso você não fica inteligente! Valeu.
  21. Primeiro ponto, Carssio, se sua matriz for de 10 índices, ela não pode ir de 1 a 10, mas de 0 a 9, ou seja matriz1[8]==9. Outro ponto, você botou pro for incrementar enquanto b for maior ou igual a 10, enquanto deveria ser menor. O correto seria: for(i=0;i<10;i++) // Veja que não usei "menor ou igual", mas apenas menor, de modo que o contador vá até 9! { } Na verdade a questão que que você copie o primeiro array para o segundo. Recomendo usar um for com duas letras, tipo i e j: for(j=0,i=10; i<10,j>0;i++,j++) aí você poe pra um arraay receber o valor do outro. Qual terá índice j ou i não vou te dizer para que você vá tentando e fique inteligente, como diria o charada nessa cena aos 3:25m, que marcou minha infância: kkkkkkkkkk
  22. Olá, pessoal, vim de uma formação em humanas (advogado) e estou começando um curso de BSI EAD. Já aprendi c até matrizes por conta própria. Ocorre que na faculdade eu aprendi aquelas conversões e contas com binário, hexa e octal. Legal, é até divertido Ok, já aprendi, mas como não vou ficar usando sei que vou esquecer. Então a pergunta é: Será que preciso ficar treinando isso e me manter afiado, já que existem calculadoras que fazem isso? Em algum momento precisarei disso pra trabalhar (não só programando, mas em qualquer outra coisa de TI)? Não tô dizendo que não sei, apenas que não acho que seja uma coisa pra ficar revisando. Poderia me dedicar a outras coisas como terminar c e pegar mais linguagens? Valeu!
  23. Então, se você quer rodar geração antiga, tipo Skyrim, é sossegado. BF 4 é capaz de ter uma taxa de frames que atrapalhe o competitivo online. CS go vai rodar liso. porque eu tinha uma máquina igual a sua e rodava cs go lisão. Mas realmente duvido rodar frostbyte 3 (engine de bf4, bf1 e plants vs zombies 2). Creio que daria muito problema pra a nova geração@Giovanni159

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!