Ir para conteúdo
Fórum Script Brasil

newnoob

Membros
  • Total de itens

    48
  • Registro em

  • Última visita

Tudo que newnoob postou

  1. newnoob

    pilha

    compilei esse codigo que você me mando, mas não ta compilando o dev não acusa erro nenhum, mas eparece escrito assim,empty character constant. nem aparece quela tela pra digita, sabe o que pode ser? valeu
  2. newnoob

    pilha

    andei dando uma revizada no programa coloquei as setas, agora ele já ta compilando, mas na hora que eu digito aparece um erro que o programa precisa ser fechado, o programa serve para verificar se o numero de parenteses da string esta certo ou não, vo posta o codigo refeito aqui pra verem. se puderem me da uma ajuda eu agradeço obrigado. #include <stdio.h> #include <stdlib.h> #define TAM 100 typedef struct { int topo; char dado[TAM]; }pilha_t; char pop(pilha_t *pilha){ if(pilha -> topo == -1){ printf("pilha vazia"); return 1; }else{ pilha -> topo--; return pilha -> dado[pilha -> topo + 1]; } } void push( pilha_t *pilha, char novo_elemento){ if (pilha -> topo < TAM){ pilha -> topo++; pilha -> dado[pilha -> topo] = novo_elemento; }else{ printf("pilha cheia"); } return; } bool empty(pilha_t *pilha){ if(pilha -> topo == -1){ return true; }else{ return false; } } bool balanced_parentheses(char *string){ pilha_t pilha; int i; int cont = 0; while (string != ''){ for(i = 0; i < TAM; i++){ if(string[i] == '('){ cont ++; }else if(string[i] == ')'){ cont--; } if (cont < 0){ return false; } } if(cont != 0){ return false; }else{ return true; } } } int main(){ char *string; printf("Digite a expressao!\n"); scanf("%s", &string); if(balanced_parentheses(string)){ printf("Parenteses corretos"); }else{ printf("parenteses errados"); } system ("pause"); return 0; }
  3. newnoob

    pilha

    andei dando uma revizada no programa coloquei as setas, agora ele já ta compilando, mas na hora que eu digito aparece um erro que o programa precisa ser fechado, o programa serve para verificar se o numero de parenteses da string esta certo ou não, vo posta o codigo refeito aqui pra verem. se puderem me da uma ajuda eu agradeço obrigado. #include <stdio.h> #include <stdlib.h> #define TAM 100 typedef struct { int topo; char dado[TAM]; }pilha_t; char pop(pilha_t *pilha){ if(pilha -> topo == -1){ printf("pilha vazia"); return 1; }else{ pilha -> topo--; return pilha -> dado[pilha -> topo + 1]; } } void push( pilha_t *pilha, char novo_elemento){ if (pilha -> topo < TAM){ pilha -> topo++; pilha -> dado[pilha -> topo] = novo_elemento; }else{ printf("pilha cheia"); } return; } bool empty(pilha_t *pilha){ if(pilha -> topo == -1){ return true; }else{ return false; } } bool balanced_parentheses(char *string){ pilha_t pilha; int i; int cont = 0; while (string != ''){ for(i = 0; i < TAM; i++){ if(string[i] == '('){ cont ++; }else if(string[i] == ')'){ cont--; } if (cont < 0){ return false; } } if(cont != 0){ return false; }else{ return true; } } } int main(){ char *string; printf("Digite a expressao!\n"); scanf("%s", &string); if(balanced_parentheses(string)){ printf("Parenteses corretos"); }else{ printf("parenteses errados"); } system ("pause"); return 0; }
  4. newnoob

    pilha

    pessoal, to precisando de uma ajuda , to fazendo um programa que utiliza pilhas, tenho que cria a função pra empilha,desempilha,verificar se a pilha esta vazia e verificar se o numero de parenteses da string estão balanceados, se puderem me ajudar eu agradeço, desde já muito obrigado valeu #include <stdio.h> #include <stdlib.h> #define TAM 100 typedef struct { int topo; char dado[TAM]; }pilha_t; char pop(pilha_t *pilha){ if(*pilha.topo == -1){ printf("pilha vazia"); return; }else{ pilha.topo--; return pilha.dado[pilha.topo + 1]; } } void push( pilha_t *pilha, char novo_elemento){ if (*pilha.topo < TAM){ pilha.topo++; pilha.dado[ilha.topo] = novo_elemento; }else{ printf("pilha cheia"); } return; } boolean empty(pilha_t *pilha){ if(*pilha.topo == -1){ return true; }else{ return false; } } boolean balanced_parentheses(char *string){ pilha_t pilha; int i; int cont = 0; while (*string != ''){ for(i = 0; i < TAM; i++){ if(s[i] == '('){ cont ++; }elseif(s[i] == ')'){ cont--; } if (cont < 0){ return false; } }//for if(cont != 0){ return false; }else{ return true; } }//while } int main(){ char *s; printf("Digite a expressao.\n"); scanf("%s", &*s); if(balanced_parentheses(*s)){ printf("Parenteses corretos"); }else{ printf("parenteses errados"); } return 0; }
  5. newnoob

    media

    cara, ate que enfim consegui valeu mesmo muito obrigado foi de grande ajuda agora tenho outro programa bem mais dificil, qualquer duvida eu apareço aqui
  6. newnoob

    media

    fiz o que você falo, abri um novo codigo fonte, e coloquei todas as variaveis como quantiade_al, pra ver se era esse o problema, mas não ta acontecendo ainda a mesma coisa, depois dedigita as notas o programa não calcula a media e fecha, #include <stdlib.h> #include <stdio.h> typedef struct { char nome[80]; float nota; }aluno_t; float media_turma (aluno_t *turma, int quantidade_al) { int i = 0; float media,soma = 0.0; for (i=0;i< quantidade_al ;i++) { printf ("\nDigite a %d nota para fazer a media:\n", i+1); scanf ("%f", &turma.nota); soma = soma + turma.nota; } return soma/quantidade_al; } int main() { int quantidade_al,i; aluno_t *turma; printf ("\nDigite a quantidade de alunos que a turma possui:\n"); scanf ("%d", &quantidade_al); turma = (aluno_t*)malloc(quantidade_al*sizeof(aluno_t)); printf ("\nMedia:%f",media_turma(turma,quantidade_al)); free (turma); getchar(); return (0); }
  7. newnoob

    media

    powagora não entendi, com a diferença de recompila e executa o programa de novo? só sei que fechei e apertei f9 de novo.
  8. newnoob

    media

    não, eu to usando o dev c++, não sei se deve ser por isso, acho que não tem nada a ve, mas ali dentro da função ta tudo certo a forma de calcular a media, ?
  9. newnoob

    media

    cara fiz a modificação que você me mando, mas mesmo assim ele só pede as notas, na hora de fazer a media ele não faz, sera que tem alguma coisa errada dentro da função pra fazer a media? sera que to armazenando os valores no lugar certo? e a media ta certa a formula pra calcula ela? aqui vo posta de novo o programa já com as modificações vlw #include <stdlib.h> #include <stdio.h> typedef struct { char nome[80]; float nota; }aluno_t; float media_turma (aluno_t *turma, int quantidade_al) { int i = 0; float media,soma = 0.0; for (i=0;i< quantidade_al;i++) { printf ("\nDigite a %d nota para fazer a media:\n", i+1); scanf ("%f", &turma[i].nota); soma = soma + turma[i].nota; } return soma/quantidade_al; } int main() { int q_alunos,i; aluno_t *turma; printf ("\nDigite a quantidade de alunos que a turma possui:\n"); scanf ("%d", &q_alunos); turma = (aluno_t*)malloc(q_alunos*sizeof(aluno_t)); printf ("\nMedia:%f",media_turma(turma,q_alunos)); free (turma); getchar(); return (0); }
  10. newnoob

    media

    galera, to fazendo um program para calcular a media de uma turma, eu peçopra digitar o numero de alunos e as notas de cada aluno, o programa ta compilando mas não ta fazendo as medias, eu digio as medias, mas dai ele para, não faz u calculo da media, acho que devo ta chamando a função errado ou algo assim, vo posta o codigo aqui em baixo para ver se alguém pode me ajuda. obrigado. #include <stdlib.h> #include <stdio.h> typedef struct { char nome[80]; float nota; }aluno_t; float media_turma (aluno_t *turma, int quantidade_al) { int i = 0; float media,soma = 0.0; for (i=0;i< quantidade_al;i++) { printf ("\nDigite a nota para fazer a media:\n\r"); scanf ("%f", &turma[i].nota); soma = soma + turma[i].nota; } return soma/quantidade_al; } int main() { int q_alunos,i; aluno_t *turma; printf ("\nDigite a quantidade de alunos que a turma possui:\n"); scanf ("%d", &q_alunos); turma = (aluno_t*)malloc(q_alunos*sizeof(aluno_t)); media_turma(turma,q_alunos); free (turma); system ("pause"); return (0); }
  11. newnoob

    ajuda em c

    agora consegui faze mais o menos o que eu quero #include <stdio.h> #include <stdlib.h> #define STACKSIZE 100 #define MAX[100] struct stack{//definição da estrutura// char S[STACKSIZE]; int top; }elements; //função para verificar se a pilha não esta vazia// empty (*ps){ if (ps->topo==-1){ return true; } else { return false; } } pop(*p){//função para verificar se a pilha não esta vazia// if(empty(ps)){ printf ("underflow"); exit(1);} return (ps->elements[ps->top--); } push(*stack,int top)//função para verificar se a pilha não esta cheia// { if(stack->top == STACKSIZE 1){ printf ("\nNao e possivel:PILHA CHEIA(OVERFLOW)!"); exit (1); }else{ stack->top++; stack->elements[stack->top].top); return; } } stacktop(pstack)//função de retorno de elementos da pilha// { if(empty(stack){ printf ("\nPilha vazia!"); exit(1); } else{ return pstack -> elements[pstack->top]; } } float eval(exp)// função de retorno posfixa { int c,position; float operando1,operando2,value; struct stack opndstack; opndstack.top=-1; for (position = 0(c = exp[position]) != '', position ++){ if (isdigit©) { push (&opndstack,(float)(c-'0')); }else { operando2 = pop(&opndstack); operando1 = pop(&opndstack); value = operando (c,operando1,operando2); push(&opndstack,value); return pop (opndstack) } } } int main()// inicio do programa principal// { char exp[MAX]; int position = 0; while ((exp[position++] = getchar())!='\n'); exp (--position)= ''; printf ("\n%s%s","A expressao posfixaoriginal e", exp); printf ("\n%f\n", eval(exp)); system ("pause"); } alem dele não estar funcionando falta fazer duas coisas que eu não to conseguindo e queria ver se algum pode me ajuda falta fazer uma função que transforma de infixa praprefixa e uma funcão com switch, case para ordem de precedenci '+','-','/','*','$' se alguém puder dizer onde esta meu erro no programa e me dar uma ajuda nessas duas funções eu agradeço valeu
  12. newnoob

    ajuda em c

    ainda naome sobro tempo pratenta implementa
  13. newnoob

    ajuda em c

    galera to precisando de uma calculadora pos fixa que calcule as seguites funções: adição,subtração.multiplicação,divisão e potencia se alguém ai tive algum codigo em C eu agradeço, por que to precisndo urgente valeu galera obrigado
  14. newnoob

    ajuda com funcões

    galera tenho uma questo que não consigo resolve: Seja um texto contendo vários nomes armazenado em uma matriz 30 X 40, onde cada linha da matriz contém um nome completo de uma pessoa. As palavras de cada nome são separadas por um espaço branco, sendo que o último sobrenome é seguido por um ‘’. Fazer um programa contendo as seguintes funções: a) leitura(): ler todos os nomes completos, armazenando-os na matriz. B) ord_mat(): ordena a matriz de nomes completos. c) maior_nome(): imprime o maior nome, caso tenha empate, deve imprimir todos os maiores nomes. d) armaz_prim_nome(): percorrer a matriz de nomes e armazenar o primeiro nome de cada pessoa em um vetor de estruturas, bem como o índice da linha da matriz onde este apareceu e o número de ocorrências do nome recebe 1. IMPORTANTE: Caso o primeiro nome já tenha aparecido antes (ex. Ana Maria Cruz e Ana Paula de Oliveira), não deve ser armazenado novamente, porém a linha da matriz onde este aparece deve ser armazenada e o número de ocorrências deve ser incrementado. Supor que cada nome aparece no máximo 10 vezes. e) proc_nome(): le um primeiro nome (ex. José) e imprime o nome completo de todas as pessoas que iniciam com esse nome (ex.: José da Silva, José de Alencar, José Augusto dos Anjos, etc.). f) maior_ocorr(): imprime o primeiro nome que mais apareceu no texto, se houver empate, deve imprimir todos. Observações: · A definição da estrutura prim_nome é a seguinte: struct prim_nome { char pnome[11]; // primeiro nome int linhas[10]; // linhas onde ocorre primeiro nome int n_ocor; // número de ocorrências do primeiro nome }; · A declaração do vetor de primeiros nomes é: struct prim_nome vet_nome[30]; · Utilize as funções para manipulação de strings definidas em string.h. vo posta o codigo aqui paravcs verem o que eu já consegui faze e ver se alguém consegue faze ele funciona, to deseperado, por favor me ajudem. #include <stdlib.h> #include <stdio.h> #include <string.h> typedef struct { char pnome[11]; int linhas[11]; int n_ocor; }prim_nome; void leitura(){ char string [30] [40]; int i=0; prim_nome vet_nome[30]; char resp,s; for (i = 0; i < 30; i++){ printf ("\nDigite um o nome da %da pessoa:", i + 1); scanf ("%s", &vet_nome[30].pnome); printf ("\nDigite o sobrenome da %da pessoa:"); scanf ("%s",&string[30]); strcat (vet_nome[30].pnome,string); system ("cls"); printf ("deseja inserir mais nomes? s/n?"); scanf ("%s", &resp); if (resp == 's') scanf ("%s", &string); else { printf ("\nFim da coleta de nomes!"); i=30; } } printf ("\nOs nomes que voce digitou foram:\n"); for (i = 0; i < 30; i++){ printf ("\n%s", string); } } void ord_mat(int matriz[], int tam){ char string[30] [40]; int temp, i, j; for(i = 0; i < tam; i++){ for(j = 0; j < tam; j++){ if(matriz < matriz[j]){ temp = matriz; matriz = matriz[j]; matriz[j] = temp; } } } } void maior_nome(){ char string [30] [40]; int ordem = strlen (string); } int main() { int i = 0; leitura (); ord_mat(valores, tamanho); puts("\n"); for(i = 0; i < 30; i++){ printf("%d ", valores); } system ("pause"); } int strcmp (char *string, char *string[i+1]) desde já agradeço a vocês, o melhor forum da net vlw mesmo
  15. newnoob

    recursividade

    é porque eu quero fazer o teste pra ver se ele da certo dos dois jeitos, quando esta ordenado e quando esta desordenado
  16. newnoob

    recursividade

    tentei faze aquilo que você falo, mas só aparece que esta desordenado, mas o vetor ta ordenado, tentei bota chaves ali, mas também não deu certo ali na hora de dizer o ultimo elemento do vetor o que é isso ''? eu não usei bool no tipo de vetor, botei int mesmo
  17. newnoob

    recursividade

    to fazendo um programa em C que diz se um vetor esta ordenado ou não com recursividade, mas ta dando um erro, vo posta uma parte do codigo se alguém puder me ajudar eu agradeço #include "funcao.h" int esta_ordenado (int v[], int n) { int ini = 0; int fim = n - 1; while (ini <= fim){ if (ini <= fim); return 1; else if (ini > fim); return 0; } } essa não é a main é só u funcao, ta aparecendo assim "sintax error before "else". alguém sabe como arruma isso e aproveitando o resto do codigo esta certo? vlw
  18. newnoob

    ajuda com funções

    o codigo main é #include <stdlib.h> #include <stdio.h> #include "funcoes.h" int main (void) { printf ("\nO resultado da potencia e: %f", resultado); system ("pause"); return 0; } float potencia (float base, int expoente); float potencia (float base, int expoente) { resultado = base*base; } to com duvida nessa ultima parte, não consigo pensar numa formula para para calcular a potencia vlw galera
  19. newnoob

    ajuda com funções

    é isso mesmo eu preciso q ele seja com recursividade
  20. galera, boa tarde preciso de uma função para calcular potencia em C já abri o projeto só q não tenho nem ideia de como eu faço pra criar uma função preciso que seja função por referencia vlw ai obrigado
  21. newnoob

    vetores em c

    mal aew, eu me enganei ta compilando sim, mas por exemplo c você coloca o numero de elementos do vetor = a 5 ai você coloca só dois elementos iguais , por exemplo 7 e 9,7 e 9,7 e 9,7 e 9,7 e 9 não aparece 7 e 9 só uma vez, mas aparece as 5, mas c você repete o numero só duas vezes ele aparece normal, você sabe o q pod c? eu tentei faze algumas mudanças pra tenta arruma isso, mas não deu certo. vlw de novo cara
  22. newnoob

    vetores em c

    cara eu tentei mas não ta dando certo , ta aparecendo o lixo da memoria, você tento compila ele?
  23. newnoob

    vetores em c

    galera sou novo por aqui e preciso de ajuda em c, tenho q fazer um trabalho pra faculdade e to precisando de ajuda, tenho q fazer um programa q leia N int e coloca em dois vetores, um vetor A e um vetor B e depois com pare e diga qunatos elementos de A são iguais aos elementos do B, parei na parte de comparar e n aum to conseguindo faze, vo posta o codigo aqui em baixo e se alguém puder me ajudar eu agradeço //janrie carlos tidres #include <stdio.h> #include <stdlib.h> int main() { printf ("\n**********************************\n"); printf ("\nPrograma para calculo com vetores!\n"); printf ("\n**********************************\n"); int i,tam,EleIgual; // armazena os valores das posições no vettor printf("\nQantos numeros o vetor possui?\n"); scanf ("%d", &tam); int vetor_a[tam],vetor_b[tam]; for (i = 0; i < tam; i++) { // ficam todos os valores do primeiro vetor printf ("\nDigite o valor numero %d para o primeiro vetor:\n", i+1); scanf ("%d", &vetor_a[i]); } for (i = 0; i < tam; i++) { // ficam todos os valores do segundo vetor printf ("\nDigite o valor numero %d para o segundo vetor:\n", i+1); scanf ("%d", &vetor_b[i]); } // mostra quantos elementos iguais for (i = 0; i < tam; i++){ if (vetor_a[i] == vetor_b[i]); printf ("\nOs elementos que se repetem são %d", EleIgual); } system ("pause"); }
×
×
  • Criar Novo...