Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Derleyvolt

Membros Juniores
  • Total de itens

    16
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

15

Informações gerais

  • Cidade e Estado
    Ceará - Fortaleza
  • Sexo
    Masculino
  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. 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.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×