
Binder
Membros-
Total de itens
135 -
Registro em
-
Última visita
Tudo que Binder postou
-
Eaw fera beleza, fiz novamente o seu programinha com algumas modificações, espero que possa ter te ajudado. Qualquer dúvida, poste ai no fórum, que agente tenta resolver. Obs: 1) Para ler um vetor de char você deve utilizar fflush(stdin) antes e depois de ler a string, para ter a certeza de não pegar sujeira antes da memória. 2) Eu declarei o vetor de char como v[100], ao invés de string[100], não saberia te dizer se a palavra "string" declarada como variavel, pode dar problema em C, por ser uma palavra reservada da linguagem, para não ocorrer o risco utilizei outro nome. 3) Declarei a bibilioteca #include <stdlib.h>, para poder utilizar a função system("pause"), que não encerra o programa enquanto o usuário não digitar uma tecla, é bem legal !. 4) Dentro do laço for apenas fiz uma pequena alteração para testar a letra "C", pois o usuário pode digitar tanto em maíusculo como minúsculo. #include <stdio.h> #include <stdlib.h> int main () { char v[100],frase[100]; int i,cont; printf ("\n\nDigite uma frase :"); fflush(stdin); fgets(v,100,stdin); fflush(stdin); printf("\n"); // ler a frase digitada printf ("Frase digitada foi :%s\n",v); // verifica se letra digitada é igual a "C" cont = 0; for(i=0;i<100;i++) { if((v[i] == 'c') || (v[i] == 'C')) { cont = cont + 1; } } // imprime total de letras iguais a "C" printf ("Numero de caracteres iguais a letra c : %d\n\n", cont); system("pause"); }//main
-
Olá Lucas, seu código está quase certo, porem tem uma coisa errada. Na hora de imprimir o resultado na tela deve ficar assim: printf("a Soma e %d \n",Soma); Você estava com o "&" na frente da variável "Soma". Estava apontando para o endereço de memória. falou!
-
Estou usando structs, e tenho um vetor de 100 posições vet[100]. Insiro manualmente os valores no vetor(não preciso preencher ele até o final) Ex: preencho apenas 5 valores nele o resto fica em branco. Utilizo uma variavel chamada "ultimo", e faço um for para percorrer de 0 até ultimo(ultima posição preenchida no meu vetor). Preciso remover um numero que exista no vetor, e alocar todos seus posteriores para esquerda até o final do vetor. Ex: Digitei isso no vetor: (1,5,20,50,100) Removi o numero: 5 Ficaria assim: (1,20,50,100). Obs: não aprendi ainda a utilizar "sentinela", e não posso utilizar funções,ponteiros... tenho que fazer no "for",mesmo. mas desde já agradeço pela sua atenção.
-
Olá mJi,obrigado pela força... Fiz meu codigo, porem acho que tem erro. Pois eu digito os seguintes numeros (1,5,20,50,100), e peço para excluir o numero 5. Era para ficar assim (1,20,50,100) Mas está ficando assim (1,20,20,50,0) Obs: "Ultimo", variavel para controle do vetor, percorre somente aonde está preenchido o vetor. Meu vetor é de 100 posições. printf("Remover codigo igual a: \n"); scanf("%d",&removecodigo); for(i=0;i<ultimo;i++) { if(vet[i].codigo == removecodigo) { vet[i].codigo = vet[i+1].codigo; vet[ultimo-1].codigo = 0; } printf("codigo = %d\n",vet[i].codigo); }
-
Olá pessoal, gostaria de saber como remover um elemento inteiro de um vetor[100]. Após o elemento ser apagado não posso deixar espaço em branco no vetor. Obs: Não posso utilizar função e nem ponteiros... Como devo fazer isso na linguagem C? Exemplo : 10 20 30 40 50. (preenchi apenas as primeiras 5 posições do meu vetor) Apaguei: 30 Vetor atual : 10 20 40 50. Obrigado.
-
Amigos do Fórum! Depois de algumas tentativas consegui desenvolver o código, e funcionou, caso alguém precise algum dia ,segue abaixo. printf("Ordenando os alunos pelo codigo"); for(i=0;i<ultimo;i++) { for(j=i+1;j<ultimo;j++) { if(vet[i].codigo > vet[j].codigo) { auxcodigo=vet[j].codigo; vet[j].codigo =vet[i].codigo; vet[i].codigo =auxcodigo; } } } //imprime for(i=0;i<ultimo;i++) { printf("\n"); printf("%d",vet[i].codigo); } printf("\n"); system("pause"); }//main
-
Obrigado mJi, funcionou perfeitamente os códigos citados. Abraço!
-
Olá mJi,primeiramente obrigado por responder a minha dúvida, e peço desculpas por não ser tão claro quanto a mesma.Vou explicar mais detalhamente. Preciso criar um programinha em C, com menus(coforme abaixo). Porém não estou conseguindo fazer os itens 7 e 8 do Menu. Como está usando struct(estruturas) estou tendo uma certa dificuldade para fazer o FOR.Segue abaixo meus códigos da opção 7 e 8. Desde já Agradeço pela ajuda. Obs: Não posso utilizar funções do C "prontas". A variavel "ultimo" serve para percorrer o vetor apenas até a onde estiver preenchido como ele é de 100 posiçoes, se eu preencher apenas 3 vezes, o laço FOR vai de 0 até 2, e não até o final do vetor. ================ opção 7: pede para localizar o nome no meu vetor, pela letra inicial que o usuario irá digitar. Ex: "informe a letra" : 'a'. Todos nomes que começam com a letra 'a', deve ser localizado no meu vetor de char. Não estou conseguindo fazer a busca. opção 8: pede para localizar nome conforme a letra digitada pelo usuario.Independente da posição que ela está. Ex: "Informe a letra" : 'a'. Vetor [maria]. Achou a letra'a' na primeira(em c++ comeca com 0) e na ultima posição. #include<stdio.h> #include<stdlib.h> #include<string.h> struct dados { int codigo; char nome[30]; float g1,g2; }; int main() { dados vet[100]; int op=0,ultimo=0,i,achoucodigo=0,achou=0,x,resultado,j,auxcodigo; char achounome[30],achouletra,letra,auxnome[30]; float media=0; printf("\n==========================================MENU=================================\n"); printf("1-Cadastrar aluno: \n"); printf("2-Listar todos alunos: \n"); printf("3-Listar aluno de codigo igual a: \n"); printf("4-Listar aluno acima da media 6: \n"); printf("5-lançar notas do aluno de codigo: \n"); printf("6-Listar aluno de nome igual a: \n"); printf("7-Listar alunos que iniciam com a letra: \n"); printf("8-Listar alunos que possua a letra...nome: \n"); printf("9-Ordenar os alunos pelo codigo: \n"); printf("10-Ordenar os alunos pelo nome: \n"); printf("11-Listar alunos de maior media: \n"); printf("12-Listar alunos que possuam g1 ou g2 no intervalo de notas entre: \n"); printf("13-Sair\n\n\n"); scanf("%d",&op); Opção 7: if(op==7) { printf("==================\n"); printf("informe primeira letra do nome:"); scanf("%c",&achouletra); for(i=0;i<30;i++) { //if(?) { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } } Opção 8: if(op==8) { printf("==================\n"); printf("informe letra do nome que deseja encontrar:"); scanf("%c",&letra); for(i=0;i<ultimo;i++) { if(letra == i) { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } }
-
Olá Pessoal, estou com uma dúvida, gostaria de saber como comparar um caracter (digitado pelo usuario) se possui no meu vetor de string. Pelo o que li a respeito a função strcmp compara apenas dois vetores ( de caracter ou inteiro) Exemplo //inteiro vet.codigo == x //string vet.nome == letra // supondo que letra esteje declarada como vetor(letra[30]). Meu código está assim: struct dados { int codigo; char nome[30]; float n1,n2; }; int main() { dados vet[100]; int ultimo=0,i; char achouletra; printf("==================\n"); printf("informe primeira letra do nome:"); scanf("%c",&achouletra); for(i=0;i<30;i++) // não sei se esse for esta correto { if(?) // como faço a comparação? { printf("codigo = %d\n",vet.codigo); printf("nome = %s\n",vet.nome); } } }
-
Boa noite, preciso ordenar meu vetor em c, utilizando structs, mas não estou conseguindo se alguém sabe como resolver ficarei grato.Abaixo segue o meu codigo. Obs: não posso utilizar ponteiros ou funções em C. #include<stdio.h> #include<stdlib.h> #include<string.h> struct dados { int codigo; char nome[30]; float n1,n2; }; int main() { dados vet[100]; int ultimo=0,i,j,aux; printf("==================\n"); printf("Ordenando pelo codigo"); for(i=0;i<ultimo;i++) { for(j=0;j<ultimo;j++) { if(vet.codigo > vet[j].codigo)/*se a posição atual for maior que a posição posterior*/ { aux=vet[j].codigo;//auxiliar recebe posição posterior vet[j].codigo =vet.codigo;//P.Posterior recebe P.Atual vet.codigo =aux;//P.Atual } } //imprime for(i=0;i<ultimo;i++) { printf("\n"); printf("%d",vet.codigo); } printf("\n"); system("pause"); } //main