Ir para conteúdo
Fórum Script Brasil

zennom

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre zennom

  • Data de Nascimento 02/06/1995

Perfil

  • Gender
    Female
  • Location
    São Paulo

zennom's Achievements

0

Reputação

  1. Boa noite pessoal, estudo ciência da computação e estou na modalidade do curso em C que estuda métodos de pesquisa e ordenação, porém meu professor não sabe explicar muito bem e estou com muita dificuldade para entender os algoritmos (bubble sort, quicksort e etc). Poderiam me ajudar com essas perguntas? Vi alguns vídeos no youtube mas também fiquei com dificuldades. Qual método de ordenação gasta mais tempo para classificar o conjunto de dados? O método Bubble Sort, pois consome tempo e processamento. (de acordo com o que eu entendi pelo meu professor seria o método bubble sort) Qual método de ordenação gasta menos tempo para classificar o conjunto de dados? O Quicksort é um método de ordenação mais rápido e eficiente. (e o método mais rápido o quicksort) Por que para algumas quantidade de valores, o quicksort teve o tempo zerado. Isso era esperado? Explique! a)Qual é a chamada para executar o método quick sort? Escreva a instrução. b)Como é escolhido o elemento pivô? c)Após a primeira partição do vetor, como ficarão as duas chamadas dentro da função quicksort()? d)Quantas chamadas ao método quicksort() ocorrerão? Segue um código que meu professor passou e pediu para explicarmos o porquê de algumas coisas, mas tentei rodar ele no DEVC++ e não consigo entender!! #include<stdio.h> #include<time.h> #define MAX 10 void aleatorio(); void exibir(); void quicksort(int e,int d); int a[MAX]; main(){ aleatorio(); printf("\nVetor gerado\n"); exibir(); system("pause"); quicksort(0,MAX-1); printf("\n\nVetor ordenado\n"); exibir(); } void exibir(){ int i; for(i=0;i<MAX;i++) printf("a[%d]=%d\n",i,a[i]); } void aleatorio(){ int i; srand(time(NULL)); for(i=0;i<MAX;i++) a[i]=rand()%MAX; } void quicksort(int e,int d){ int i; if(d>e){ i=particao(e,d); /* Particionando o vetor */ quicksort(e,i-1); quicksort(i+1,d); } } int particao(int e,int d){ int v,i,j,t; v=a[d]; i=e-1; j=d; do{ do{ i=i+1; /* Procura o maior*/ }while ((a[i]<v) && (i<d)); do{ j=j-1; /* Procura o menor*/ } while ((a[j]>v) && (j>0)); t=a[i]; a[i]=a[j]; a[j]=t; } while (j > i); // colocando o pivo a[d] em seu lugar a[j]=a[i]; a[i]=a[d]; a[d]=t; return i; }
  2. Boa tarde pessoal, estou fazendo alguns exercícios para praticar, mas estou com um dúvida se é necessário usar estrutura de repetição nesse caso. 3 – Em um campeonato de futebol, cada time tem uma lista oficial de 23 jogadores. Cada time prepara uma lista contendo o peso e a idade de cada um dos seus jogadores. Os 40 times que participam do torneio enviam essas listas para o CPD da confederação. Faça um programa que apresente as seguintes informações:  O peso médio e a idade média de cada um dos times;  O peso médio e a idade média de todos os participantes. Segue meu código #include<stdio.h> #include<stdlib.h> main() { float peso_jogador=0, idade_jogador=0, peso_time=0, peso_total=0, idade_time=0, idade_total=0; printf("\nDigite a idade do jogador\n"); scanf("%f",& idade_jogador); printf("\nDigite o peso do jogador\n"); scanf("%f",&peso_jogador); printf("\nDigite a idade media do time\n"); scanf("%f",&idade_time); peso_time = (peso_time + peso_jogador); idade_time = (idade_time + idade_jogador); peso_total = (peso_total + peso_time); idade_total = (idade_total + idade_time); peso_time= (peso_time/23); idade_time= (idade_time/23); peso_total= (peso_total/(23*40)); idade_total= (idade_total/(23*40)); printf("\nPeso medio dos times e %0.2f\n", peso_time); printf("\nIdade media dos times e %0.2f\n", idade_time); printf("\nPeso medio dos participantes e %0.2f\n", idade_total); printf("\nIdade media dos participantes e %0.2f\n", idade_total); system("pause"); } Como eu preciso saber a média dos 23 jogadores, seria necessário utilizar while? Pois o exercício pede que eu calcule a média, mas eu estou solicitando informações de apenas um jogador no caso. Poderiam me esclarecer? OBRIGADA PESSOAL!
  3. Boa noite pessoal, tenho esse exercício para fazer, mas como ainda estou aprendendo sobre 1FN,2FN e 3FN em Banco de Dados, gostaria que vocês analisassem para ver se está certo 2) Apresente a 1FN, 2FN e 3FN para a tabela não normalizada apresentada abaixo: Tabela não Normalizada NFiscal(Num_NF, DtVenda, CodEmpr, NomeEmpr (CodTipoProd, DescrTipoProd, CodProd, NomeProd, QtdeItem, PreçoItem)) 1ª Forma Normal NFiscal(Num_NF, DtVenda, CodEmpr, NomeEmpr) CodTipoProd (DescrTipoProd, CodProd, NomeProd, QtdeItem, PreçoItem) 2ª Forma Normal NFiscal(Num_NF, DtVenda) CodTipoProd (DescrTipoProd, CodProd, NomeProd, QtdeItem, PreçoItem) Empregado (CodEmpr, NomeEmpr) 3ª Forma Normal NFiscal(Num_NF, DtVenda) CodTipoProd (CodProd,DescrTipoProd) Item (QtdeItem, PreçoItem) // nessa parte eu fiquei em dúvida se separava ou não, porque ele não tem chave primária. Empregado (CodEmpr, NomeEmpr) AGRADEÇO A AJUDA DE TODOS (:
  4. Bom dia pessoal, estou tentando fazer este exercício aqui: Faça um programa que receba um conjunto de valores inteiros e positivos, calcule e mostre o maior e o menor valor do conjunto. - Para encerrar a entrada de dados, deve ser digitado o valor zero; - Para valores negativos, deve ser enviada uma mensagem; - Esses valores (zero e negativos) não entraram nos cálculos. Já fiz o meu código que estou enviando abaixo, entretando ele está dando erro! O programa até compila, mas não aparece as informações! O que devo fazer? ): Segue meu código comentado: #include <stdio.h> #include <stdlib.h> main () { int numero_entrada=1,numero_positivo=1,numero_negativo=0; // aqui eu dei valor as minhas variaveis while (numero_entrada != 0 && numero_entrada < 0) // como pede no enunciado se for numero negativo ou 0 { printf ( "\nDigite um numero :" ); // pedir para o usuario digitar um numero scanf ( "%d", &numero_entrada );// recebendo o número if (numero_entrada>=numero_positivo) // se o meu numero for maior ou igual a 1 ele irá mostrar o maior numero digitado { printf("o maior numero e %d",numero_positivo);// resultado na tela } else if (numero_entrada<=numero_negativo) // se for menos ou igual a 0 ele irá mostrar o menos numero { printf("o maior numero e %d",numero_negativo);// resultado na tela } return 0; } }
  5. Boa tarde Felipe, entendi o que você quis dizer (: só que, não deveria ter colocado uma "quantia" exata para os números digitados? por exemplo, se você for testar o código, e eu digitar um número que não seja zero ele não vai calcular nada... apenas mostrar 'digite um número:' infinito xD
  6. Bom dia pessoal!!Estou no primeiro semestre de Ciências da Computação e estou fazendo algumas atividades em Linguagem C. Entretanto, estou com dificuldade nesse exercício:Faça um programa que receba como entrada, uma lista de números positivos ou negativos, finalizando as entradas com o número zero e forneça como saída, a soma dos números positivos, soma dos números negativos e a soma das duas somas parciais. Pelo que eu entendi eu devo solicitar numeros positivos ou negativos ao usuários, se ele digitar o número 0 devo finalizar o programa, somar os positivos e negativos e mostrar o resultado deles. Mas, estou com muita dificuldade para resolver, estamos no módulo while, então preciso resiolver utilizando while ou do while.Tentei desenvolver o programa e ficou mais ou menos assim: #include <stdio.h> #include <stdlib.h> main () { int contador=0,resultado,n1; contador=0; while (contador<=5) { printf("digite um numero :"); scanf("%d",&n1); contador ++; } if (n1!=0) { resultado=(n1+n1+n1+n1+n1); printf("o resultado e %d",resultado); } else { printf("encerrando programa"); } system ("pause"); } Observações: Quando eu vou digitar 0 o programa não se encerra, queria saber o porquê disso.Lembrando que eu sou iniciante em programação e gostaria que vocês, experientes nisso me dessem dicas ou clareassem a minha cabeça para que eu possa resolver esse problema e entender.Obrigada pessoal :)
×
×
  • Criar Novo...