Funcionamento do Sistema
INPUT/OUTPUT (ENTRADA/SAÍDA):
-
Em todos os problemas o input é feito pelo standard input e o output é feito
pelo standard output. Portanto, os programas podem e devem usar as funções
«normais» de escrita leitura, como sejam o scanf e printf (em C) ou o
read/readln e write/writeln (em Pascal).
-
Os inputs/outputs devem ser exactos, isto é, os dados de entrada e saída devem
ser EXACTAMENTE IGUAIS (no conteúdo, na formatação, na sequência, no respeito
pelas maiúsculas e minúsculas, no espaçamento, nas mudanças de linha, etc.) aos
apresentados no enunciado.
A última linha do output
deve incluir mudança de linha (writeln em Pascal ou \n em C).
-
O standard input pode ser pensado como uma stream equivalente a qualquer
ficheiro. Portanto, quando acaba, tem um end-of-flle. Para que o seu programa,
use as funções usuais de ficheiros, mas aplicadas ao standard input. Por
exemplo, em C, quando o final de input é atingido, um fgets retorna NULL, um
scanf retorna zero argumentos lidos e um feof(stdin) retorna true. Para simular
um end-of-file se estiver a escrever via teclado, pressione Ctrl+D em Linux e
Ctrl+Z em Windows.
Importante:
-
Em C, deve ter o cuidado de colocar a instrução return 0 na função int
main() o que é interpretado pelo Sistema de Submissão como fim do programa).
Exemplo:
Implemente um programa que leia uma lista de N (0<=N<100) números naturais e apresente a contagem de números pares
e de números ímpares.
Exemplo 1:
Sendo N=5 e os 5 números dados 10, 3, 2, 112 e 75, o programa apresenta 3 e 2, correspondendo respectivamente à contagem
de números pares e à contagem de números ímpares.
Entrada:
5
10
3
2
112
75
Saída:
3 2
Exemplo 2:
Sendo N=6 e os 6 números dados 22, 32, 20, 112, 40 e 62, o programa apresenta 6 e 0, correspondendo respectivamente à contagem
de números pares e à contagem de números ímpares.
Entrada:
6
22
32
20
112
40
62
Saída:
6 0
--------------------
Resolução em Pascal
--------------------
program cpas1;
var
i,n,x,ct:integer;
begin
readln(n);
ct:=0;
for i:=1 to n do begin
read(x);
if (x mod 2)=0 then ct:=ct+1;
end;
writeln(ct,' ',n-ct);
end.
---------------
Resolução em C
---------------
#include <stdlib.h>
#include <stdio.h>
int main()
{
int n,i,num,par,impar;
par=0;
impar=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&num);
if(num%2==0)
{
par++;
}
else
{
impar++;
}
}
printf("%d %d\n",par,impar);
return 0;
}
-------------------------------
Resolução em NodeJs (javascript)
-------------------------------
var readline = require("readline");
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var input = []; // Array com as linhas do input
rl.on("line", function(line) {
if (line == "") // Termina introdução quando linha vazia
main();
input.push(line);
}).on("close", main);
function main() {
// Input
var v = input[0].split(" ").map(Number);
var a = v[0];
var b = v[1];
// Processamento
var r = a / b;
console.log(r.toFixed(2));
};
-------------------------------
Resolução em C#
-------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int n, i, num, par, impar;
par = 0;
impar = 0;
n= Convert.ToInt32(Console.ReadLine());
for (i = 1; i <= n; i++)
{
num = Convert.ToInt32(Console.ReadLine());
if (num % 2 == 0)
{
par++;
}
else
{
impar++;
}
}
Console.WriteLine("{0} {1}", par, impar);
}
}
}