Ir ao conteúdo
  • Cadastre-se

viniciosbarbosa

Membro Pleno
  • Posts

    23
  • Cadastrado em

  • Última visita

Tudo que viniciosbarbosa postou

  1. ele so tem de inserir depois listar e remover mais usando esse tipo de estrutura de dados
  2. esse programa tinha que inserir 10 números e remover mais da erro de segmentação mais não sei onde #include<stdio.h> #include<stdlib.h> #define max 10 typedef struct no{ int dado; struct no *prox, *ant; }No; typedef struct lista{ int qtd; No *inicio; No *fim; }Lista; void inicializa(Lista *l){ l->qtd=0; l->fim=NULL; l->inicio=NULL; } int listavazia(Lista *l){ if(l->qtd==0){ return 0; } return 1; } No *buscap(Lista *l,int k){ No *nav; int i; if(k<l->qtd/2){ nav=l->inicio; for(i=0;i<=k;i++) nav=nav->prox; } else{ nav=l->fim; for(i=l->qtd-1;i>=k-1;i--){ nav=nav->ant; } } return nav; } int inserirlistavazia(Lista *l, int valor){ No *novo=malloc(sizeof(No)); novo->dado=valor; l->fim=novo; novo->prox=NULL; novo->ant=NULL; l->qtd++; return l->qtd; } int inseririnicio(Lista *l,int valor){ No *novo=malloc(sizeof(No)); novo->dado=valor; novo->prox=l->inicio; l->inicio->ant=novo; novo->ant=NULL; l->inicio=novo; l->qtd++; return l->qtd; } int inserirfim(Lista *l,int valor){ No *novo=malloc(sizeof(No)); novo->dado=valor; l->fim->prox=novo; novo->ant=l->fim; novo->prox=NULL; l->fim=novo; l->qtd++; return l->qtd; } int remova_um(Lista *l){ int aux=l->inicio->dado; free(l->inicio); l->inicio=NULL; l->fim=NULL; l->qtd--; return aux; } int inserirp(Lista *l,int valor,int k){ if(k<0 || k>l->qtd){ printf("posiçao invalida\n"); return -1; } if(l->qtd==0){ inserirlistavazia(l,valor); return l->qtd; } if(k==0){ inseririnicio(l,valor); return l->qtd; } if(k==l->qtd){ inserirfim(l,valor); return l->qtd; } No*novo=malloc(sizeof(No)); novo->dado=valor; No *nav=buscap(l,k-1); novo->prox=nav->prox; novo->ant=nav; nav->prox->ant=novo; return++l->qtd; } int removerinicio(Lista *l){ if(l->qtd==0){ printf("lista vazia"); return -1; } if(l->qtd==1){ return remova_um(l); } int aux=l->inicio->dado; No *lixo=l->inicio; lixo->prox->ant=NULL; l->inicio=lixo->prox; free(lixo); lixo=NULL; l->qtd--; return aux; } int removerfim(Lista *l){ if(l->qtd==0) return -1; if(l->qtd==1){ return remova_um(l); } int aux=l->fim->dado; No *lixo=l->fim; lixo->ant->prox=NULL; l->fim==lixo->ant; free(lixo); lixo=NULL; l->qtd--; return aux; } int removerp(Lista *l,int k){ if(l->qtd==0){ return -1; } if(k<0 || k>l->qtd){ printf("posiçao invalida"); return -1; } if(k==0){ return removerinicio(l); } if(k==l->qtd-1){ return removerfim(l); } No *lixo=buscap(l,k); lixo->ant->prox=lixo->prox; lixo->prox->ant=lixo->ant; int aux=lixo->dado; free(lixo); lixo=NULL; l->qtd--; return aux; } int main(){ int i; Lista l; inicializa(&l); for(i=0;i<10;i++){ printf("%d\n",inserirp(&l,i*5,i)); } for(i=0;i<10;i++){ printf("%d\n",removerp(&l,0)); } return 0; }
  3. @vangodp muito obrigado por sua ajuda, mais percebi que colocou %s para a leitura de inteiro. Bom meu compilador não reconheceu mais eu também tinha errado, era um valor flutuante. Pois bem meu código ficou desta forma eu tinha que ler o numero de ida a um supermercado/feira por exemplo, e depois ler o numero de produtos de estoque, depois em um loop eu ia pegar o nome e o valor, depois de pegar todos eu pego o numero de itens que ela comprou, depois disso o usuário informa o nome do produto e a quantidade comprada depois computa e no fim mostra o valor das idas ao supermercado/feira. OBS: para onde eu precisava do código não poderia existir printfs a não ser o da saída. meu codigo; #include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> typedef struct{ char produto[50]; float preco; }f; typedef struct{ char item[50]; int quantidade; }c; int main() { int n,i,j,k,g,m; float veto[1000]; //quantidade de loop scanf("%d",&n); for(i=0;i<n;i++) { int qtdp; scanf("%d",&qtdp); f lista[qtdp]; for(m=0;m<qtdp;m++){ //printf("Informe o nome: "); scanf("%s",lista[m].produto); //printf("valor: "); scanf("%f",&lista[m].preco); } int qtdc; scanf("%d",&qtdc); c compra[qtdc]; for(j=0;j<qtdc;j++){ //printf("Informe o nome: "); scanf("%s",compra[j].item); //printf("valor: "); scanf("%d",&compra[j].quantidade); } float vet[qtdc]; int res; for(k=0;k<qtdc;k++){ for(g=0;g<qtdp;g++){ //comparaçao de elemento res=strcmp(compra[k].item,lista[g].produto); //se 0 sao igual //se nao fazer nada if(res==0){ vet[i]=vet[i]+compra[k].quantidade*lista[g].preco; } } } //passagem de vetor pra fora do loop; veto[i]=vet[i]; } for(j=0;j<n;j++){ printf("R$ %.2f\n",veto[j]); } return 0; }
  4. #include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> typedef struct{ char produto[50]; float preco; }f; int main() { f feira; int n,i,j,k; scanf("%d",&n); for(i=0;i<n;i++) { int qtdp; scanf("%d",&qtdp); f vet[qtdp]; for(j=0;j<qtdp;j++){ printf("informe o produto\n"); scanf("%s %f",feira.produto,&feira.preco); vet[i]=feira; } for(j=0;j<qtdp;j++){ printf("%s %f\n",vet[j].produto,vet[j].preco); } } return 0; } adicionado 2 minutos depois @vangodp so esta salvando o ultimo o resto se perde.
  5. tenho uma duvida de como fazer a leitura de uma string minha leitura scanf(" %s %f",produtoc,&qtd); tenho que ler uma string com nome e um float separado por um espaço; ate então normal lê mais quando vou imprimir só esta saindo a ultima string lida e o resto nada; minha saida
  6. pessoal tenho uma duvida na ordenação tenho que ordenar do mais novo para o mais velho tudo importa dia mês e ano de nascimento mais não sei como proceder ao final do programa tenho que imprimir a matricula dos alunos; meu código ate agora a entrada seria essa 5 12345 12 07 1978 erick 23489 11 03 2009 joao 98762 05 12 1976 maria 34561 11 07 1978 roberto 34599 07 05 1976 ricardo e a saida seria matricula 23489 matricula 12345 matricula 34561 matricula 98762 matricula 34599 mas esta dando um valor diferente #include<stdio.h> #include<string.h> typedef struct{ int matricula; int dia; int mes; int ano; char nome[200]; }aln; int main(){ int n,i; scanf("%d",&n); aln aluno; aln vet[n]; for(i=0;i<n;i++){ scanf("%d %d %d %d %s",&aluno.matricula,&aluno.dia,&aluno.mes,&aluno.ano,aluno.nome); vet[i]=aluno; } int veto[n]; for(i=0;i<n;i++){ veto[i]=vet[i].matricula; } int temp; int j; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(vet[i].ano>=vet[j].ano&&vet[i].dia>=vet[j].dia &&vet[i].mes>=vet[j].mes ){ temp=veto[i]; veto[i]=veto[j]; veto[j]=temp; } for(j=0;j<n;j++){ printf("matricula %d\n",veto[j]); } return 0; }
  7. meu printf no caso 1 só esta parando depois da segunda virgula e quero que pare na primeira virgula quero tipo em forma monetária só com 2 números depois da virgula mas esta saindo um numero muito grande. #include<stdio.h> int main(){ float invés,res,resu; int op; scanf("%f",&invés); scanf("%d",&op); switch(op){ case 1: resu=invés*3/100; res=resu+invés; printf("%.2f",res); case 2: resu=invés*4/100; res=resu+invés; printf("%.2f",res); } return 0; }
  8. @Lucas Matheus Pereira mas a energia e da tomada direto ou tem algum estabilizador um similar?
  9. pode ser super aquecimento tenta limpar o duto de ar que sai o ar quente pode ter muita poeira e ta aquecendo ate certo ponto e o processador desligando por segurança ,verifica também se se ele esta com o cooler funcionando.
  10. @Lucas Matheus Pereira Tenta desligar ele da tomada um pouco ate ele meio que descarregar se não resolver seu PC queimou. Tipo enfia o cabo e ve se ele esta bem conectado .
  11. Qual a melhor distribuição linux para programação estou fazendo ciência da computação e no laboratório uso o ubuntu mas gostaria de levar um notebook para a faculdade por causa de segurança e também e bem mais fácil de salvar as coisas mais não sei qual linux instalar no meu notebook?
  12. @Anderson Silva Freitas Bom isso porque e uma internet muito lenta e cada um vai puxar uma porta do roteador, mais uma coisa que e mais aceitável e que outras pessoas pode estar usando a internet como vizinhos isso e uma coisa que acontece , tente falar com seu chefe sobre depois do expediente desligar todos os dispositivos wi-fi e ver quantos ainda estão conectados isso pode ate acarretar em problemas de segurança se não for resolvido.
  13. @Matheus Rogério vale muito , mas suas configurações de PC podem dizer outra coisa como um upgrade mais hard.
  14. Bom pode ser um bug de versão acontece muito com beta tente limpar os dados do app, verificar se esta conectado a internet verificar ate o modem conexão velocidade de internet ou teste um emulador de android mas e muito difícil que seja seu celular agora sobre o Feed você esta falando do seu celular ou no celular dos outros se for no seu atualize seu Feed passando o dedo de cima para baixo ele ira atualizar.
  15. Compre a segunda ou junte dinheiro e monte um pc mais potente não adianta nada você comprar uma placa de vídeo e durar pouco tempo com varias atualizações e jogos novos brevemente você sofrera com gargalos e tudo mais. uma dica para economizar em peças e comprar em datas de descontos ou em revendedoras na sua cidade pessoas que compram direto da fabrica.
  16. Sim da para aprender mais não e como se você estivesse em um curso já que la terá desafios. mais se você quer aprender sozinho terá de fazer exercícios e essas coisas, um sistema operacional recomendado para o c e linux então se você tem preconceito com ele e bom não ter mais agora, você terá de escolher que linguagem aprende. na faculdade a primeira linguagem que eu comecei foi o c/c++ são bem fáceis aconselho tentar nelas primeiro depois você pode ir para java php etc. comece do básico depois vá para os mais pesados.
  17. Linguagem c e onde geralmente todos aprendemos agora vai de como você realmente se da bem se e com a linguagem c ou java eu particularmente te recomendaria a c ela e bem mais fácil pelo menos para min use a linguagem que mais se adapta a você.
  18. Quando for publicar uma divida já poste com o exercício que mais rápido você terá a resolução do exercício.
  19. Tudo vai depender de seu uso se ele esta bem instalado com todos os parafusos sem tocar na placa vai durar muito tempo seu hd já o ssd e como um pendrive vai ate quando queimar tudo e imprevisível não pra falar que tal dia x ele vai queimar mas e bom não ficar formatando muito os hds já que eles possuem discos rígidos que são subscritos e quanto mais são subscritos mais vão perdendo sua vida útil o ssd não e subscrito e dura mais que um hd.
  20. Verifique a temperatura do processador e veja também se a pasta térmica não esta muito ressecada se estiver substitua. Me parece muito um problema de super aquecimento verifique também se seu cooler não esta com algum problema que nesse tempo pode estar vindo a aquecer e perder velocidade.
  21. Recebi este problema como tarefa de casa nao sei nem onde fazer nada: Um robô precisa andar por um corredor sem colidir com obstáculos. O corredor é dividido em 3 vias paralelas (via esquerda, via central e via direita). Cada via é representada por um vetor de 20 posições, onde cada índice do vetor equivale a 1 metro do corredor. A posição 0 indica o início do trajeto e a posição 19, o fim. Nos vetores, a presença do símbolo 'x' representa um obstáculo na via. Faça um algoritmo que crie um corretor, preenchendo-o aleatoriamente com N_left, N_center, N_right obstáculos (dados pelo usuário) em cada via. Em seguida, apresente a configuração desse corredor na tela, indique qual a distância máxima que o robô consegue percorrer no corredor e qual o caminho a ser percorrido. O robô sempre inicia o trajeto na via central e segue a seguinte sequência de movimentos: Frente (F), Esquerda (E), Direita (D). Exemplo: N_left: 10 N_center: 5 N_right: 3 left |xxx-x------xxx--xxx| center |~~~xx-x---~~~~~~~x-| right |--~~~~~~~~~xxx--~~~| Way: FFDFFFFFFFFEFFFFFFDFF Max. Dist.: 20

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