Ir ao conteúdo
  • Cadastre-se

Derleyvolt

Membro Júnior
  • Posts

    17
  • Cadastrado em

  • Última visita

Tudo que Derleyvolt postou

  1. Okay.. primeiro, a variável contadora, c, precisa ser zerada.. segundo, dependendo do seu compilador, o vetor virá com lixo de memória, você precisa zerar ele, assim -> int vetor[100] = {}; // isso zera o vetor. se tiver usando uma versão mais antiga, provavelmente não vai funcionar ou int vetor[100]; memset(vetor, 0, sizeof(vetor));
  2. o código está correto, primeiro ele mostra o conteúdo do vetor, ou seja, joga o conteúdo na tela e depois zera o valor.. essa seria a sua intenção, não? caso não, eu ainda entendi qual a real dúvida, a dúvida inicial era como zerar o conteúdo de um array/vetor.. poste o código completo com as alterações que você fez, e me diga como você espera/quer que ele funcione. tenho a noite toda, sem pressa.
  3. int main() { int vetor[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; memset(vetor, 0, sizeof(vetor)); for ( size_t i = 0; i < sizeof(vetor) / 4; i++ ) { std::cout << vetor[i] << std::endl; } system("pause"); return 0; } compile isso e verá que o vetor é zerado.. o problema provavelmente é na sua implementação, mostre o source desse seu segundo exemplo, se puder.
  4. pra zerar um vetor/array você pode fazer assim --> ZeroMemory(vetor, 10); // o vetor a ser zerado e o tamanho dele em bytes ou memset(vetor, 0, 10); // o vetor a ser preenchido, o vetor será preenchido com esse valor (0 no caso) // e o tamanho do vetor em bytes ambos fazem exatamente a mesma coisa, ZeroMemory é implementado com memset..
  5. como você não sabe o valor que o usuário vai digitar, ou seja, o valor é dinâmico.. então você precisa usar alocação dinâmica, assim: scanf("%d",tamanho); int* vetor = new int[tamanho]; // alocação dinâmica código aqui.. delete[] vetor; // lembre-se sempre de liberar a memória ou poderia usar o std::vector, mas creio que você ainda não conheça..
  6. de Fortaleza também hehe.. eu curto demais também essa parte da física na programação, esse site é ótimo para entusiastas da física na programação --> http://natureofcode.com/book/chapter-2-forces/
  7. Diogo não olhei o código todo, mas você não pode fazer isso --> int vetor[m],verifica[m]; esse m dentro dos colchetes não é permitido neste caso, pois m é uma variável não constante. Isso só seria possível se as variáveis vetor e verificar fossem ponteiros e você as inicializa-se com o operador new, assim: int m = 10; int* vetor = new int[m], *verificar = new int[m]; ou se m fosse um define, assim: #define m 10 int main() { int vetor[m]; return 0; } ou se m fosse uma variável const, assim: int main() { const int m = 10; int vetor[m]; return 0; }
  8. Concordo, eu citei o livro porque considerei que ele fosse ler depois que terminasse de ler o livro "Começando a programar em C++ para leigos"
  9. se você sabe um pouco de inglês, te recomendo ler esse, é do criador do C++ --> https://is.muni.cz/www/408176/38744863/The_C__Programming_Language__Stroustrup_.pdf
  10. não conheço seu nível em C, mas tenta inicialmente resolver problemas como : criar um algoritmo que retorne o maior valor desse vetor: { 1, 6, 7, 2, 4, 8, 9, 12, 17, 3, 5 } faça um loop de 0 até 99 e imprima todos os valores que são múltiplos de 3 e de 5. encontre a soma de todos os números primos abaixo de 1000. se quiser algo mais complicadinho, tem esse site em inglês https://projecteuler.net/archives não posso te recomendar nenhum livro em C pois programo em C++ e os livros que leio são todos em inglês e não envolvem lógica de programação..
  11. Primeiro, uma variável do tipo char só suporta 1 byte, um short suporta 2 bytes, então se você jogasse 2 bytes em uma variável do tipo char, 1 byte seria escrito em endereço desconhecido.. mas se mesmo assim você quiser fazer isso, você faz assim : char* a = new char(); scanf_s("%d", a); // 'força' o compilador a interpretar o endereço retornado pela // variável 'a' como sendo do tipo short short* c = reinterpret_cast<short*>(a); cout << *c << endl; não analisei a função scanf internamente, mas provavelmente ela guarda o input do usuário em uma variável do tamanho do formato passado e joga o input no endereço apontado pelo ponteiro sem verificar o tipo do ponteiro.. mas como foi dito antes, neste caso, será jogado 4 bytes dentro de uma variável (que está no heap) que suporta 1 byte, 3 bytes serão escritos em endereços desconhecidos..
  12. você poderia usar um vetor, não ficaria mais rápido mas pouparia muitas linhas de código... sobre os travamentos, você poderia usar threads, o que seria bem complicado visto que você é iniciante. (não programo em c#, mas não creio que sua função faça o programa travar, a não ser que seja chamada em um loop curto).
  13. Derleyvolt

    C++ Melhor IDE para C++

    gosto do VS 2017, possui muitas ferramentas de auxílio.
  14. Existe uma leve diferença na declaração de um vetor e na atribuição dele, quando você vai declarar -> char letra[1]; // isso significa que o vetor, neste caso, só suporta um caractere. char letra[2]; // neste caso, ele suporta 2 caracteres. quando você for atribuir um valor a ele com o operador = , o primeiro valor começará sempre da posição 0 -> letra[0] = 'a'; // se você fizer letra[1], você estará escrevendo em uma // região de memória que não pertence ao vetor letra. o vetor resp mostrava o mesmo valor porque você estava indiretamente escrevendo em resp[0], pois neste caso aí, o endereço de memória inicial do vetor resp estava situado logo após o fim do vetor letra. neste caso, você até pode acessar os campos de resp através do vetor letra, assim -> letra[2] = 'b'; // escrevendo em 2 bytes acima do domínio da variável cout << resp[1] << endl; // isso vai mostra o 'b' , pois os campos do vetor // resp estão logo acima do vetor letra Cheers
  15. O erro no delphi é esse Unable to Load project ''C:\User\xxxxx..... Fatal Error - 1072896760 Caracteres inválidos encontrado no texto... Isso está ocorrendo ao tentar abrir um Project , lembro que estava tentando ler caracteres que estavam em array of bytes , tentei varias coisas , dps salvei ,e quando fui abrir mais tarde , nao conseguia .... se alguém puder ajudar... serei grato.
  16. Então , galera , estou com problema em converter numero em caractere , eu até consigo , mas só mostra a primeira letra da palavra , já tentei com Wchar , WideChar , PWidechar , AnsiString , Pchar , entre outros , alguns dão erro , outros funcionam mas , como eu disse , aparece apenas a primeira Letra da palavra... o codigo é esse , Label17.Caption:=Wchar(buf); onde buff é um integer.... Desde já , 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...