Olá pessoal, sou o Filipe Névola, este blog foi muito ativo durante 2009 enquanto eu fazia universidade,
hoje em dia estou ativo no Twitter @FilipeNevola e voltando a escrever posts agora no meu perfil do Medium (29/05/2016).

[ 20/05/2009 ] 0

Formatos de Entrada e Saída em C/C++

Entrada

Na maratona os dados são lidos da entrada padrão (e não do arquivo) logo não é necessário manipular arquivos.
A leitura padrão da linguagem C é o scanf() e é este comando que iremos utilizar na maioria dos códigos (procuramos não utilizar o cin do C++ pois ele é bem mais lento que o scanf()).
O scanf() em caso de sucesso na leitura retornará o número de parâmetros lidos, caso ele não consiga ler irá retornar EOF (end of file).

Quando o problema tiver apenas um caso de teste a leitura é feita como em qualquer outro programa porém na maior parte dos problemas da maratona são apresentados vários casos de teste, que chamamos de instâncias.

Exemplo de Entrada:

#include
int main(){
int a,b;
//ps: o scanf retorna o número de parâmetros lidos
//quando a e b for 0 vai dar falso
while (scanf(“%d %d”,&a,&b) && (a!=0 || b!=0){
//realiza a soma e imprimir resultado
}
}

Obs1: O valor inteiro 0 (zero) representa FALSO e qualquer outro inteiro representa VERDADEIRO por isso podemos colocar o scanf dentro do while pois ele sempre irá ler dois inteiros e retornar 2, logo 2 é verdadeiro e apenas dependerá da segunda condição (a!=0 || b!=0) exatamente o que desejamos.
Obs2: Existem várias formas de fazer essa leitura.

Uso avançado do scanf

Usando o scanf para ler uma linha inteira.
scanf("%[^\n]",linha); //linha é uma cadeia de caracteres
Deste modo ele lerá enquanto o caracter não for ‘\n’ (indica fim de linha) e guardará na cadeia de caracteres linha.
Do mesmo modo para ler até um hifen (ou qualquer outro caracter) pode-se usar
scanf(“%[^-]”,linha);

Tipos de Variáveis e seu padrão de Leitura

Saída

Na maratona os dados são escritos na saída padrão (e não no arquivo) logo não é necessário manipular arquivos.
A escrita padrão da linguagem C é o printf() e é este comando que iremos utilizar na maioria dos códigos (procuramos não utilizar o cout do C++ pois ele é bem mais lento que o printf()).

Exemplo de Saída:

#include
int main(){
int a,b;
while (scanf(“%d %d”,&a,&b) && (a!=0 || b!=0){
printf(“%d\n”,a+b); //imprime um inteiro e pula 1 linha
}
}

Tipos de Variáveis e seu padrão de Escrita


Aprendeu? Então faça esse problema do spoj para fixar!

Novo Comentário