Ir ao conteúdo

Posts recomendados

Postado

 Olá, desde ontem eu estou tentando responder uma questão que tem no site do URI, mas não consegui fazer o código. Então, eu peguei um pseudocódigo que vi na internet, tentei traduzir e fiz a questão. No entanto, existem muitas informações na qual eu não entendi.
questão: 1120 - Revisão de Contrato - URI Online Judge
Resumindo a questão: 
Entrada

1. Uma linha que representa uma tecla quebrada (o digito que deve ser deletado do número).
2. Um numero;
Saída:
O número sem o digito digitado na primeira entrada

Em caso de saída 000, deve sair somente um zero.
Exemplos: 
Entrada
5
5000000
Saída
0
Entrada
5
5004000
saída
4000 
O meu código:
 

#include <stdio.h>

#include <string.h>

int main() {
  char a[10];
  char b[1000];
  scanf("%s%s", a, b);
    if (a[0] == '0' && b[0] == '0')
      return 0;
    int j = strlen(b);
    int k = 0;
    int l = 0;
    for (int i = 0; i < j; i++) {
      if (a[0] != b[i]) {
        if (b[i] != '0')
          k = 1;
        if (k == 1) {
          l = 1;
          printf("%c", b[i]);
        }
      }

    }
    if (l == 0) {
      printf("0");
    printf("\n");
}
  }

- Eu não entendi o porquê desse return 0 após o primeiro if;
- Não entendi também essa parte:
 

if (a[0] != b[i]) {
        if (b[i] != '0')
          k = 1;
        if (k == 1) {
          l = 1;
          printf("%c", b[i]);
        }
      }

    }
    if (l == 0) {
      printf("0");
    printf("\n");

 

  • Curtir 1
Postado
1 hora atrás, Talyson Maia disse:

uma questão que tem no site do URI

 

Já pensou em deixar aqui um link para a questão? E explicar o que é URI --- uma escola ? E provavelmente seria o site DA URI, já que universidade é feminina. A ideia de escrever "o URI" vem de algo que não está aí: o resto do nome, Online Judge, e aí juiz é masculino. O serviço se chama URI Online Judge. E o problema está aqui 

 

1 hora atrás, Talyson Maia disse:

Eu não entendi o porquê desse return 0 após o primeiro if;

 

Leu essa parte do enunciado: 

 

Citação

 

O ultimo caso de teste é seguido por uma linha que contém apenas dois zeros separados por espaços em branco

 


É por isso.
 

1 hora atrás, Talyson Maia disse:
scanf("%s%s", a, b);

 

Já te expliquei isso antes: TESTE sempre o retorno de scanf()

 

Já te expliquei isso antes: não perca tempo lendo coisas se a lógica não está certa ainda. Use constantes...

Já tem 6 exemplos no site. Use esses.

 

1 hora atrás, Talyson Maia disse:

No entanto, existem muitas informações na qual eu não entendi.

 

Podia listar essas muitas? 

 

Use nomes mais expressivos. E porque a é char[10] se é um único dígito? E porque b é char[1000] se são no máximo 100 dígitos?

 

1 hora atrás, Talyson Maia disse:

m caso de saída 000, deve sair somente um zero

 

Isso está errado. É o caso de ter apenas a tecla quebrada e uma sequência de zeros...

 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!