Ir ao conteúdo
  • Cadastre-se

barutaji

Membro Pleno
  • Total de itens

    113
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

2

Sobre barutaji

  • Data de Nascimento 14/01/1990 (30 anos)

Informações gerais

  • Cidade e Estado
    Curitiba, PR
  1. barutaji

    Dúvida básica C++

    Não sei qual exatamente a lógica de calculo que você quer representar em Soma2, mas seu programa está rodando errado só por erros de sintaxe: #include <iostream> #include <cmath> using namespace std; int main () { double Mw [7] = {7, 4 , 3, 4, 5, 6, 7}; const double k = 4.5; double Soma = 0; int i = [COLOR="Red"][B]0[/B][/COLOR]; double Soma2 = 0; while (i < [COLOR="red"][B]7[/B][/COLOR])[COLOR="red"][B]{[/B][/COLOR] Soma += k * Mw[i]; Soma2 += Soma; for (int i = 0; i < 7;i++) { Soma2 += k * Mw[i];
  2. Olá amigos, Surgiu-me uma dúvida acerca do uso do comando delete: Para se usar em matrizes usamos: delete []blabla; Até aí ok. Mas no caso de matrizes multidimensionais, como char **blabla? delete []blabla; já dá conta do recado? ou precisaria: delete [][]blabla; ou ainda: for(int i=0; i<LIMITE; i++) delete [] blabla[i]; delete [] blabla; Alguma luz?
  3. não use negrito. Use a biblioteca conio.h para controlar o movimento do cursor, ou use ansi.sys, conforme nesse link: http://www.linhadecodigo.com.br/Dica.aspx?id=1125 Basicamente tem umas funções que mudam a posição do cursor, e você vai precisar disso para o movimento das setas, para o backspace, para o return e para mudar a tela com page up(down). Calculo que o código vai ficar grandinho, controlar gráfico por modo texto é um saco.
  4. barutaji

    excluir registro.

    1º - precisa de uma variável indicando qual é o ultimo elemento válido. É 'i', 'j', ou o que que é? 2º - o 'i' parece assumir mais de um papel durante o código. 3º - o laço for ficou estranho, ele começa em 'j'(seja lá quanto isso vale) e avança até (i-1). Em cada ciclo ele atribui para funcionário um valor diferente, no próximo ciclo esse valor é substituido por outro. No final das iterações funcionário==funcionario[i-2]; O mais lógico seria começar de i e avançar até o final, a cada ciclo atribui-se fuincionario[y]=funcionario[y+1]; no final todos os valores vão "escorregar" um nível e o ú
  5. To com preguiça de fazer o código, mas vai a ideia geral. Pelo que entendi você quer imprimir uma string na tela alinhada à esquerda, centralizada ou à direita, isso? a esquerda: simples, imprime a string e acabou a direita: "número de espaços" = "tamanho da tela"(80) - "tamanho da string" centralizado: aí complica. "número de espaços" = "tamanho da tela"/2(40) - "tamanho da string"/2. O que complica o cálculo são os números ímpares: você tem que definir se o caractere impar vai fica desequilibrado para a esquerda ou direita e ajustar o cálculo para isso.
  6. barutaji

    Ponteiros

    bom, em primeiro lugar você criou uma estrutura que nunca mais é usada inicio=(ponteiro*)malloc(sizeof(ponteiro));//ARMAZENANDO O ESPAÇO NA MEMÓRIA DO TAMANHO DO PONTEIRO inicio = NULL ; //Ponteiro aponta para o vazio segundo, vamos iteração por iteração: -inicio = null ##primeira iteração -1ºcriado, lista=1º -lista(1º).prox=inicio : lista(1º).prox=null -inicio=lista : inicio=1º ##segunda iteração -2º criado, lista=2º -lista(2º).prox=inicio : lista(2º).prox=1º -inicio=lista : inicio=2º ##n-ésima iteração -nº criado, lista=nº -lista(nº).prox=inicio : lista(nº).prox=(n-1)
  7. Você não inicializou f.fim, assim, quando você digita (em inserir()) f.elemento[f.fim] = p; f.fim será igual ao valor que já estava na mémória (que geralmente é alto), ou seja, é como se estivesse digitando: f.elemento[125] = p; e acessando uma região inválida da memória e dando erro de segmentation fault, um erro fatal que encerra o programa. Na realidade não entendi pra que servem ini e fim. Os dados podem estar em qualquer lugar da matriz ou estarão do 0 até (nElem-1)? Se for o segundo caso os dois primeiros números são inúteis. Pra esse exercício é melhor usar "filas" mesmo, um tipo
  8. Ok, observcando melhor seu código achei o erro. Não está na passagem para a função, mas sim na criação da array. matriz = new string*[10]; Desse jeito você criou uma matriz de ponteiros que apontam para o vácuo, e quando tenta acessar o vácuo dá erro. depois dessa linha precisa acrescentar um laço e alocar a memória inteira: matriz = new string*[10]; for(int i=0; i<#tamanhomatriz#; i++) matriz[i]= new string[#tamanho#]; Pronto, agora está apontando para uma área válida. Altera e testa aí.
  9. Vê se tem algo de util aí: http://www.invasao.com.br/2008/07/13/tutorial-de-winsocket-em-c-parte-i/ http://www.invasao.com.br/2008/07/13/tutorial-de-winsocket-em-c-parte-ii/ http://forum.clubedohardware.com.br/cliente-servidor-ftp/331826 Não tenho interesse direto nesse assunto, então não li detalhadamente, mas tem a ver com o assunto, mesmo que não seja a resposta "definitiva" vai ajudar a entender o funcionamento em C.
  10. Usa sempre o fórum. Sua dúvida pode (e será) a de outros também, além do que várias pessoas vão ler a pergunta e complementar um pouco mais a resposta.
  11. Segmentation fault significa que em algum lugar do programa você está acessando uma região da memória que não devia. Ou excedeu o limite de alguma matriz, ou acessou uma matriz dinâmica antes de alocar, ou simplesmente levou um ponteiro para um lugar qualquer que não devia. Não verifiquei o código inteiro para saber onde estaria, mas se você rodar em modo debug vai saber onde exatamente está o acesso indevido.
  12. -Dá pra juntar o primeiro e segundo for. Você pega o valor, grava na 1ª matriz e já copia na segunda, não tem porque fazer duas vezes esse caminho. -Não entendi porque 2 contadores (i e h) dá pra se virar com 1 só. No primeiro é só usar i+1 ao invés de h, e no 3º o i não foi usado. -312 funciona direitinho, o problema são outros números em que exista mais e 1 inversão, como 231 (resultado:213). Motivo: o método bolha funciona por várias repetições, não apenas 1, por isso precisa de 2 laços for aninhados. Se a matriz tem 3 elementos, será necessário passar 3 vezes por todos os elementos para
  13. ah é que dá pra definir o tamanho de uma matriz baseado no valor de uma variável em tempo real...? e pior que funcionou mesmo. Isso é novidade pra mim. Do jeito como você fez não precisa ser ponteiro, a declaração pode ser também void alteraVetor(int v[],int tamanho), mas no final das contas é a mesma coisa com notação diferente, só começa a existir uma diferença real entre as duas notações com matrizes com 2 dimensões ou mais (** é totalmente diferente de [][], mas * é muito similar a []). Você precisa passar o endereço (ou o ponteiro, dependendo da notação) porque não vale a pena ficar cop
  14. Se alguem tiver, ou souber onde conseguir, ajuda aí, que o google realmente não ajudou muito.
  15. barutaji

    Exercicio em c.

    -Você faz infinitamente valor=base*base. Isso sempre será base². Ao invés disso faça valor=valor*base ou valor*=base. Não esqueça de inicializar valor=1 para o resto do cálculo dar certo. -colocando printf() dentro do laço você vai repetí-lo a cada iteração, o que não é o que você quer. tire o printf() para logo depois de } -break significa: interrompa o laço imediatamente e continue a excecução depois do }. Serve para casos em que existem duas lógicas controlando o laço: a "mestre" que vai avançando valor a valor e a "exceção", que, se acontecer, interrompe o laço na hora. Por esse motivo

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

907618_67f7_4.jpg

PROMOÇÃO RELÂMPAGO!

Curso "Arquitetura de Redes", de Gabriel Torres, por apenas R$ 22,90. Só até as 23h59min desta sexta-feira 23/10/2020!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!