Ir ao conteúdo
  • Cadastre-se

Lucas Akio Fujita Sato

Membro Pleno
  • Posts

    28
  • Cadastrado em

  • Última visita

  1. Estou com um problema minha função cria o arquivo mas não imprime nada nele. segue abaixo o código: void analisa_dados_brutos(double* s, long t) //sinal e seu tamanho { FILE *file; file = fopen("sinal.txt","w+"); double m = fabs(s[0]); for(long i=1; i<t; i++) if(fabs(s[i])>m) m = fabs(s[i]); for(long i=0; i<t; i++) s[i] /= m; double* y = new double[t+t-1]; //sinal autocorrelacionado for(long n=0; n<t+t-1; n++) { y[n] = 0; for(long k=0; k<t; k++) if((n-k>=0) && (n-k<t)) y[n] += s[n-k]*s[t-k-1]; } for(long n=t; n<t+t-1; n++) fprintf(file,"%.5f \n", y[n]); fclose(file); } //-------------------------------------------------------------
  2. O que eu fiz até agora é o seguinte : a) SELECT x.nome_empregado FROM ocupação x WHERE x.salario > (SELECT avg(y.salario) FROM ocupação.y WHERE x.tipo_de_ serviço = y.tipo_de_ serviço) SELECT x.nome_coordenador FROM coordena x WHERE (SELECT y.cidade FROM Reside y WHERE x.nome_empregado = y.nome_empregado) CONTAINS(SELECT w.cidade FROM Reside w, coordena z WHERE w.nome_empregado = z.nome_empregado AND nome_coordenador = 'Nestor Silva')
  3. Não sei se é o lugar certo para postar. Mas estou com dificuldades em um exercício da faculdade sobre SQL. Se alguem puder ajudar ficaria muito grato Exercício Considere as seguintes relações: reside(nome_empregado, rua, cidade) ocupação(nome_empregado, nome_empresa, salário, tipo_de_serviço) coordena(nome_empregado, nome_coordenador) confeccione as consultas abaixo utilizando a linguagem SQL a- obter todos os empregados que tem salário maior que a média de salario daqueles que executam o mesmo tipo de serviço b- obter todos os gerentes que coordenam pessoas em todas as cidades dos coordenados pelo gerente "Nestor Silva"
  4. Estou precisando de ajuda com o seguinte exercicio: Faça um programa que recebe numeros naturais e os armazene em uma pilha, o fim da entrada de dados deverá ser indicado por um numero negativo. O programa deve tambem verificar a ocorrencia de dois nós vizinhos que são primos. Segue o código que eu fiz(provavelmente tudo errado). #include <stdlib.h> #include <stdio.h> struct celula{ int item; celula * prox; }; celula *Topo = NULL; celula *aux; void push(int valor){ celula *nova_celula = (celula*) malloc(sizeof(celula)); if(nova_celula==NULL){ printf("MEMÓRIA INSUFICIENTE!\n"); } else{ nova_celula->item = valor; nova_celula->prox = Topo; Topo = nova_celula; } } int pop(void){ int valor; celula * temp; if(Topo==NULL) { printf("PILHA VAZIA, NÃO HÁ NADA PARA REMOVER!\n"); return ; } else { valor = Topo->item; temp = Topo; Topo = Topo->prox; temp->prox = NULL; free(temp); return 1; } } int primo(int num){ int i=, count=; for(i=1; i<=num; i++){ if(num%i==) count++; } if(count==2) return 1; else return ; } int main(){ int valor=, x=, count=, y=; while(valor>=){ printf("Digite o valor a ser inserido: "); scanf("%d", &valor); push(valor); } aux = Topo; while(aux != NULL){ aux = aux->prox; while(primo(aux->item) == 1){ pop(); count++; } } if(count >= 2){ printf("Existem nos vizinhos e primos!"); } else{ printf("não existem nós vizinhos e primos!"); } return ; }
  5. Estou com problema com um código de fila dinâmica acredito que o problema esteja na criação da fila, porém não estou conseguindo resolver. Segue o código: #include <stdio.h> #include <stdlib.h> #include <locale.h> //Declarações iniciais typedef struct elem{ int info; struct elem *prox; }tipoElem; typedef struct{ tipoElem *inicio; tipoElem *fim; }Fila; Fila *q; int count=0; //Função para criar fila vazia void cria_fila(){ q->inicio = NULL; q->fim = NULL; printf("FILA CRIADA!"); } //Função para verificar se a fila está vazia int fila_vazia(){ if(q->inicio == NULL) return 1; else return 0; } //Função insere na fila int insere(int valor){ tipoElem *p; p = (tipoElem*) malloc(sizeof(tipoElem)); if(p == NULL) return 0; count++; p->info = valor; p->prox = NULL; if(fila_vazia()) q->inicio = p; else{ q->fim->prox = p; q->fim = p; } return 1; } //Função para remover elemento na fila int remove(){ tipoElem *p; if(fila_vazia()){ printf("FILA VAZIA!\n"); return 0; } else{ count--; p = q->inicio; q->inicio = p->prox; if(q->inicio == NULL) q->fim == NULL; free(p); } return 1; } //Função para consultar primeiro elemento int consulta(){ int valor; if(fila_vazia()){ printf("FILA VAZIA!\n"); return 0; } else{ valor = q->inicio->info; printf("PRIMEIRO ELEMENTO: %d\n", valor); return 1; } } //Função que retorna o tamanho da fila int tamanho(){ return count; } //Função que imprime a fila void imprimir() { tipoElem *ponteiro = q->inicio; if( fila_vazia() ){ printf("FILA VAZIA!\n"); } while (ponteiro != NULL) { printf("%d\n", ponteiro->info); ponteiro = ponteiro->prox; } } //Função que destroi a fila int destruir(){ tipoElem *temp; if(fila_vazia()){ printf("FILA VAZIA!\n"); return 0; } else{ while(q->inicio != NULL){ temp = q->inicio; q->inicio = q->inicio->prox; free(temp); } printf("FILA DESTRUÍDA!\n"); count=; return 1; } } int main(){ int valor=0, op=0; setlocale(LC_ALL,""); //comando para usar caracteres especiais do{ printf("=========MENU=========="); printf("\n(1) CRIAR FILA\n(2) INSERIR ELEMENTO\n(3) REMOVER ELEMENTO\n(4) CONSULTAR TAMANHO"); printf("\n(5) CONSULTAR INÍCIO\n(6) IMPRIMIR FILA\n(7) DESTRUIR FILA\n"); printf("=======================\n"); do{ printf("DIGITE SUA OPÇÃO: "); scanf("%d", &op); }while(op < 1 || op > 6); system("cls || clear"); switch(op){ case 1: cria_fila(); case 2: printf("DIGITE O VALOR A SER INSERIDO: "); scanf("%d", &valor); insere(valor); break; case 3: remove(); break; case 4: printf("QUANTIDADE DE ELEMENTOS DA FILA: %d \n", tamanho() ); break; case 5: consulta(); break; case 6: printf("ELEMENTOS DA FILA:\n"); imprimir(); break; case 7: destruir(); break; } printf("\nDIGITE 0 PARA CONTINUAR: "); scanf("%d", &op); printf("\n\n"); }while(op==0); return 0; }
  6. Estou com dúvida no seguinte exercício, vocês podem me ajudar? O superfatorial de um número N é definida pelo produto dos N primeiros fatoriais de N. Assim, o superfatorial de 4 é sf(4) = 1! * 2! * 3! * 4! = 288. Faça uma função recursiva que receba um número inteiro positivo N e retorne o superfatorial desse número. Essa foi a função que eu fiz mas está retornando o valor errado: int superfatorial(int num){ int res, super=1; if(num==0) return 1; else{ while(num >= 0){ res = superfatorial(num-1)*num; super = super * res; num--; } } return super; }
  7. Você poderia explicar o algoritmo? Não entendi bem essa parte: if(!i){ v = (int *)malloc(sizeof(int) * (i + 1)); }else{ v = (int *)realloc(v, sizeof(int *) * (i + 1)); } A memória só vai ser realocada se o valor digitado for zero?
  8. Não estou conseguindo fazer esse exercício, não sei nem por onde começar, me ajudem por favor. Crie um programa em C para que o usuário digite elementos em um vetor do tipo inteiro. O vetor é inicialmente um ponteiro. Para cada novo valor, uma posição de memória deve ser realocada e testada. O valor digitado deve ser armazenado na posição correta. Esse processo termina quando o usuário digitar, como elemento do vetor, o valor ‘0’ . O vetor deve ser apresentado e em seguida a memória deve ser liberada.
  9. Queria saber se está certo até agora o que fiz e como fazer a parte do maior e menor saldo e da média. E mais uma coisa rodei o código e ele não está entrando no if
  10. Não estou conseguindo fazer o seguinte exercício por favor me ajudem. Construir um programa em C para controlar o saldo bancário de 20 clientes. Os dados importantes são: numero da conta, nome, sexo e saldo. O nome é composto por uma estrutura individual (com os campos nome e sobrenome). Em seguida, o programa deve permitir ler os dados, inclusive o saldo. Calcular e imprimir o saldo médio das mulheres, o saldo médio dos homens, os maiores e menores saldos entre homens e mulheres. #include <stdio.h>#include <stdlib.h>#define registros 20int main(){ int i, f=0, m=0, j; typedef struct nomes{ char nome[20]; char sobrenome[20]; }tnom; typedef struct clientes{ int numeroconta; char sexo; tnom n; float saldohomem; float saldomulher; }tcli; tcli cli[registros]; for (i = 0; i<registros; i++){ printf("\nInforme o nome do cliente:\n"); scanf("%s", &cli[i].n.nome); printf("\nInforme o sobrenome do cliente:\n"); scanf("%s", &cli[i].n.sobrenome); printf("\nInforme o numero da conta:\n"); scanf("%d", &cli[i].numeroconta); printf("Informe o sexo do cliente:\n"); scanf("%c ", &cli[i].sexo); if(cli[i].sexo == 'f' || cli[i].sexo == 'F'){ printf("\nInforme agora o saldo da conta:\n"); scanf("%f", &cli[i].saldomulher); f++; } else if(cli[i].sexo == 'm' || cli[i].sexo == 'M'){ puts("Informe agora o saldo da conta:\n"); scanf("%f", &cli[i].saldohomem); m++; } } printf("\nA media de saldo entre as mulheres: %f\n", cli[i].saldomulher/f); printf("\nA media de saldo entre os homens : %f\n", cli[i].saldohomem/m); system("PAUSE"); return 0;}
  11. Tem que justificar a direita e a esquerda ao mesmo tempo.
  12. Pessoal, estou com problemas não estou conseguindo fazer um programa, não sei nem por onde começar. Segue o exercício: Sua tarefa é escrever um programa para fazer a formatação automática de um texto. O programa deve receber um texto de entrada com palavras separadas por apenas um único branco e as linhas justificadas a esquerda, o programa transforma o texto em um texto justificado à direita e também à esquerda.
  13. no meu não está lendo o caracter. E o seu não funciona imprime a string sem a primeira letra. Edit: Consegui arrumar não sei porque mas não estava lendo o caracter, obrigado pela ajuda.
  14. é que minha professora fez do jeito que eu postei, então eu queria fazer funcionar daquele jeito, entendeu? você deu uma olhada no código?

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