Ir ao conteúdo
  • Cadastre-se

Eduardo_Braz

Membro Pleno
  • Posts

    98
  • Cadastrado em

  • Última visita

Reputação

34
  1. Estou tentando reinstalar a rom do meu android modelo SM-G600FY é um Samsung Galaxy On7 toda vez que eu tento tá esse erro.
  2. if(cont >= k){ printf("NAO\n"); for(i = 1; i <= n; i++){ if(vetor[i] <= 0){ printf("%d\n", vetor[i]); } } } O erro está nessa parte o iniciado pede os índices das ocorrências quando a condição for verdadeira. Quando eu troco o vetor somente por i ele imprime 1 e o 4 não entendo porque alguém poderia me ajudar nessa parte. Entrada: 4 1 0 -1 2 1 (Índice 1 é o 0) (Índice 2 é o -1) (Índice 3 é o 2) (Índice 4 é o 1) Quando eu faço a troca: Saí assim: 1 4 O correto pelo o que eu coloquei acima séria: 1 2 Eu teria que colocar em ordem decrescente tudo o que eu já testei não funcionou, gostaria ver com vocês. Por fim ficaria assim: 2 1
  3. @devair1010Não conseguir pegar os índices. adicionado 9 minutos depois ele só pega o 1 e 4 quando o teste: Entrada: 4 2 0 -1 2 1 Saída: 1 2 e ordenar o índice em ordem decrescente adicionado 10 minutos depois
  4. Assim se eu colocar para imprimir o i então pode dá certo ? adicionado 4 minutos depois Fiz o teste mais não funcionou.
  5. Muito obrigado pela a dica de postagem, vou estudar o seu código aqui muito obrigado mesmo adicionado 3 minutos depois nessa parte tem como eu pegar o indice onde os números aparece?
  6. Eu meio que arrumei porém: A saída que eu conseguir com a entrada sendo 10 4 -93 -86 49 -62 -90 -63 40 72 11 67: NAO 1 3 4 5 10 e a saída que era para ser: Saída NAO 6 5 4 2 1 #include <stdio.h> int main(){ int n, k, i, j, cont, vetor[1000], aux, po; while (1){ scanf("%d %d", &n, &k); if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){ break; } } for(i = 0; i < n; i++){ scanf("%d", &vetor); } for(i = 0; i < n; i++){ if(vetor <= 0){ cont++; } } if(cont >= k){ printf("NAO\n"); for(i=1; i<=n; i++){ if (vetor <= 0){ aux = vetor; po=i; printf("%d\n", po); } } } else{ printf("SIM\n"); } }
  7. Eu encontrei o erro só que eu não sei resolver é o seguinte ele tem que achar o índice dos números igual ou menor a ZERO só que não estou conseguindo pegar os mesmo... adicionado 1 minuto depois Em ordem decrescente..
  8. #include <stdio.h> void troca(int* a, int*b){ int aux; aux=*a; *a=*b; *b=aux; } void insertionSort(int n, int vet[]){ int i,j, menor, indMenor; for (i=0; i<n-1; i++) { menor=vet; indMenor=i; for(j=i;j<n;j++){ if (vet[j] > menor) { menor=vet[j]; indMenor=j; } } troca(&vet, &vet[indMenor]); } } int main(){ int n, k, i, j, cont, vetor[1000]; while (1){ scanf("%d %d", &n, &k); if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){ break; } } for(i = 0; i < n; i++){ scanf("%d", &vetor); } for(i = 0; i < n; i++){ if(vetor > 0){ cont++; } } if(cont >= k){ printf("NAO\n"); for(i = 0; i < n; i++){ insertionSort(n, vetor); if(vetor > 0){ printf("%d\n", vetor); } } } else{ printf("SIM"); } } De 11 teste passou em apenas 4
  9. Um professor X tem uma turma de N alunos. Frustrado com a falta de disciplina, ele decide cancelar a aula se menos de K alunos estão presentes quando a aula começa. Dado o tempo de chegada de cada aluno, determinar se a aula é cancelada. Caso a aula não seja cancelada, imprima uma lista com os alunos que chegaram antes do início da aula em ordem contrária à mostrada na entrada. Entrada A primeira linha apresenta dois números inteiros separados por um espaço: N (alunos da turma) e K (mínimo de presenças para que a aula não seja cancelada), com 0 ≤ N, K, ≤ 1000. Na segunda linha há N inteiros separados por espaços (A1 , A2 ,... , An ) descrevendo os tempos de chegada para cada aluno. Suponha que esta ordem seja a mesma da lista de presença do professor, com o primeiro aluno descrito na entrada sendo o aluno 1 e assim por diante. Nota: horários de chegada não-positivos (Ai ≤ 0) indicam que o aluno chegou cedo ou na hora; horários de chegada positivos (Ai>0) indicam o aluno chegou Ai minutos tarde. Saída O programa apresenta uma mensagem com a palavra “SIM” se a aula é cancelada, e “NAO” caso contrário. Após imprimir a mensagem quebre uma linha. Se a aula não for cancelada, imprima os M alunos presentes antes do início da aula (ou seja, com Ai ≤ 0) na ordem contrária da lista de entrada.
  10. Por Favor O erro é o seguinte quando tem um número negativo ele está imprimindo exemplo de entrada e sua divada saída: A condição do não e sim é a seguinte se o numero k nesse caso de teste é o 2. O vetor tem que conter número maior que ZERO Entrada: 4 2 0 -1 2 1 Saída: NAO 2 1 Código #include <stdio.h> void troca(int* a, int*b){ int aux; aux=*a; *a=*b; *b=aux; } void insertionSort(int n, int vet[]){ int i,j, menor, indMenor; //para cada elemento i do vetor for (i=0; i<n-1; i++) { menor=vet; indMenor=i; //procurar o i-esimo menor guardar o seu valor e de seu indice, respectivamente em menor e indMenor for(j=i;j<n;j++){ if (vet[j] > menor) { menor=vet[j]; indMenor=j; } } //O i-esimo menor esta na variavel menor trocar de posicao os elementos vet com vet[indMenor] troca(&vet, &vet[indMenor]); } } int main(){ int n, k, i, j, cont, vetor[1000]; while (1){ scanf("%d %d", &n, &k); if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){ break; } } for(i = 0; i < n; i++){ scanf("%d", &vetor); } for(i = 0; i < n; i++){ if(vetor > 0){ cont++; } } if(cont >= k){ printf("NAO\n"); for(i = 0; i < n; i++){ insertionSort(n, vetor); printf("%d\n", vetor); } } else{ printf("SIM\n"); } }
  11. @devair1010 Pode só que eu não sei matriz adicionado 6 minutos depois Não tenho ideia alguma de Matriz
  12. @devair1010 Foi baseado eu acho
  13. Dada uma sequência de N números entre 0 e 100. Determine qual o valor de maior frequência. Caso haja mais de um valor tenha a maior frequência, mostre o menor deles. Entrada Na primeira linha há um inteiro N, 1 N 1000000, representando a quantidade números. Nas N linhas seguintes haverá um número natural entre 0 e 100 inclusive por linha. Saída O programa gera apenas duas linhas. Na primeira dela mostre qual foi o valor com maior frequência. E na segunda linha, mostre a quantidade de vezes que esse número apareceu na sequência de valores. Após a impressão deste último valor quebre uma linha. Caso haja mais de um valor tenha a maior frequência, mostre o menor deles. Exemplo Entrada 10 1 7 4 29 7 4 7 8 7 29 Saída 7 4 Código <- Não sei porque funciona //Programa 13 #include <stdio.h> int main(){ int vetor[1000000], i, j, n, aux, k, total; while(1){ scanf("%d",&n); if(n <= 1000000 && n > 0){ break; } } for (i = 0; i < n; i++){ scanf("%d", &vetor); } for (i = 0; i < n; i++){ for(j = i + 1; j < n; j++){ if (vetor == vetor[j]){ aux = vetor[j]; } } } for (k = 0; k < n; k++){ if (aux == vetor[k]){ total++; } } printf("%d", aux); printf("\n%d", total); }

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