Loops: for, while and do-while

Veja, execute e experimente Loops: for, while and do-while no IDE online de C++ da CodeUtility.

Bibliotecas pré-instaladas
🚀 2,393,679 execuções totais (1,305 este mês)
Saída

Pratique C++ com desafios de código

Resolva problemas práticos direto neste editor: rode os testes de exemplo, envie sua solução e receba uma revisão de código por IA.

Todos os desafios de C++
Fácil

Average of Three

Average three whole numbers.

Você vai aprender AritméticaDivisão
BeginnerLearning-pathVariables
Fácil

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Você vai aprender AritméticaValores de retorno
BeginnerLearning-pathVariables
Fácil

Juntar clientes e pedidos

Junte clientes e pedidos como um Join do LINQ e informe o gasto total de cada cliente.

Você vai aprender LINQ JoinAgrupamento
ArraysSorting
Ainda sem soluções
Fácil

Lista de tarefas

Mantenha uma lista de tarefas: adicione, marque como feitas, remova e informe o que ainda está pendente.

Você vai aprender Coleções tipadasRecords
BeginnerSimulationStrings
Ainda sem soluções
Fácil

Operações em uma lista ligada

Simule uma lista ligada: adicione nas duas pontas, remova do início ou por valor e inverta.

Você vai aprender Listas ligadasSimulação
Data-structuresSimulation
Ainda sem soluções
Fácil

Somar um objeto JSON plano

Analise um objeto JSON plano cujos valores são inteiros e some os valores.

Você vai aprender Parsing de JSONDivisão de strings
ParsingStrings
Ainda sem soluções
Fácil

Tempo total com WhenAll

Descubra quanto tempo um programa leva quando cada grupo de tarefas executa junto com Task.WhenAll e os grupos executam um após o outro.

Você vai aprender Async/awaitTask.WhenAll
ArraysBeginner
Ainda sem soluções
Médio

Ordem de conclusão de tarefas paralelas

Execute tarefas concorrentemente com no máximo k por vez e informe a ordem em que elas terminam.

Você vai aprender ConcorrênciaFilas de prioridade
SimulationSorting
Ainda sem soluções
Médio

Pilha com mínimo

Construa uma pilha que informe seu menor elemento instantaneamente após qualquer push ou pop.

Você vai aprender PilhasMínimo acumulado
Data-structuresStacks
Ainda sem soluções
Fácil

Registros únicos

Remova registros duplicados que sejam iguais por valor, mantendo o primeiro de cada na ordem.

Você vai aprender RecordsIgualdade por valor
BeginnerStrings
Ainda sem soluções
Fácil

Ordenar por uma chave escolhida

Ordene pessoas por nome ou por idade com um comparador escolhido em tempo de execução, quebrando empates de forma consistente.

Você vai aprender ComparadoresOrdenação
ArraysSorting
Ainda sem soluções
Médio

Folha de pagamento semanal

Some o pagamento de uma semana para funcionários assalariados, por hora e por comissão, cada um pago pela sua própria regra.

Você vai aprender PolimorfismoCálculo de horas extras
ParsingSimulationmath
Ainda sem soluções

💻 Sobre este Executor C++ Online

O CodeUtility C++ Executor permite escrever e executar código C++ diretamente no seu navegador - sem instalação ou configuração de compilador. É alimentado por um sandbox seguro que suporta padrões reais de C++ desde o C++11, C++14, C++17, até a versão mais recente.

Esta ferramenta usa um compilador C++ real a correr na nuvem para compilar e executar o seu código, garantindo um comportamento preciso e consistente entre versões. Pode experimentar livremente conceitos centrais de C++, como variáveis, funções, loops, condicionais e programação orientada a objetos.

Quer esteja a preparar-se para entrevistas, a aprender recursos modernos de C++ ou a validar a lógica de algoritmos, o CodeUtility C++ Executor oferece um ambiente simples e poderoso para executar código instantaneamente em qualquer dispositivo.

Mais do que um executor de código

Use no mesmo executor um editor de vários arquivos, um terminal de execução isolado, bibliotecas específicas do ambiente, espaços de trabalho persistentes, compartilhamento e colaboração em tempo real.

Como usar este executor?

Escolha um ambiente de execução, abra ou crie um arquivo, escreva o código e selecione Executar. A saída aparece no terminal; usuários conectados podem manter arquivos em um espaço de trabalho, instalar bibliotecas e colaborar por meio de compartilhamentos.

  1. Selecione uma versão e edite o arquivo atual ou abra outro arquivo do espaço de trabalho.
  2. Execute o código, forneça dados no terminal quando solicitado e consulte o histórico de execuções salvo.
  3. Use bibliotecas, ferramentas do espaço de trabalho, compartilhamento e chat quando a tarefa exigir mais de um trecho de código.

💡 Noções básicas de C++ e exemplos que pode experimentar acima

1. Declaração de variáveis e constantes

O C++ exige que declare o tipo de cada variável. Use const para definir valores somente leitura que não podem ser alterados após a inicialização.

int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;

// Constantes
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";

// Tentar modificar um const causará um erro em tempo de compilação
// MAX_USERS = 200; // ❌ erro

2. Condicionais (if / switch)

Use if, else if, else para ramificações. Use switch para vários valores.

int x = 2;
if (x == 1) {
    std::cout << "Um\n";
} else if (x == 2) {
    std::cout << "Dois\n";
} else {
    std::cout << "Outro\n";
}

// Switch-case
switch (x) {
    case 1:
        std::cout << "Um\n";
        break;
    case 2:
        std::cout << "Dois\n";
        break;
    default:
        std::cout << "Outro\n";
}

3. Loops

Use for, while e do-while para repetir blocos de código.

for (int i = 0; i < 3; i++) {
    std::cout << i << "\n";
}

int n = 3;
while (n > 0) {
    std::cout << n << "\n";
    n--;
}

4. Arrays

Arrays armazenam múltiplos elementos do mesmo tipo.

int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";

5. Manipulação de Arrays/Vetores

Use std::vector para arrays dinâmicos.

#include <vector>

std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();

for (int n : nums) {
    std::cout << n << " ";
}

6. Entrada/Saída na consola

Use std::cin para entrada e std::cout para saída.

std::string name;
std::cout << "Introduza o seu nome: ";
std::cin >> name;
std::cout << "Olá, " << name << "\n";

7. Funções

Funções agrupam lógica reutilizável. Use parâmetros e tipos de retorno.

int add(int a, int b) {
    return a + b;
}

std::cout << add(3, 4);

8. Mapas

std::map armazena pares chave-valor como dicionários.

#include <map>

std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];

9. Tratamento de exceções

Use try e catch para lidar com erros em tempo de execução.

try {
    throw std::runtime_error("Ocorreu um erro");
} catch (const std::exception& e) {
    std::cout << e.what();
}

10. Entrada/Saída de ficheiros

Use fstream para ler e escrever em ficheiros.

#include <fstream>

std::ofstream out("file.txt");
out << "Olá, ficheiro";
out.close();

std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();

11. Manipulação de strings

Strings em C++ suportam métodos como length(), substr() e find().

std::string text = "Olá Mundo";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("Mundo");

12. Classes e objetos

C++ suporta programação orientada a objetos usando classes.

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "Olá, eu sou " << name; }
};

Person p("Alice");
p.greet();

13. Ponteiros

Um ponteiro armazena o endereço de memória de outra variável. Use & para obter um endereço, e * para desreferenciar (aceder ao valor nesse endereço).

int x = 10;
int* ptr = &x;

std::cout << "Valor de x: " << x << "\n";
std::cout << "Endereço de x: " << ptr << "\n";
std::cout << "Valor a partir do ponteiro: " << *ptr << "\n";

// Modificar x através do ponteiro
*ptr = 20;
std::cout << "x atualizado: " << x << "\n";

🐞 Como depurar código %{language} online

Use o depurador %{language} online para encontrar erros de execução e lógica sem instalar compilador ou IDE. O modo Servidor compila com símbolos de depuração e executa o programa no GDB.

  1. Defina pontos de interrupção ao lado dos números de linha.
  2. Selecione Depurar para compilar e pausar no primeiro ponto correspondente.
  3. Inspecione a linha, a pilha de chamadas e as variáveis.
  4. Use Continuar, Passar por cima, Entrar ou Sair.
  5. Selecione Parar para encerrar a sessão.

Comece com um exemplo reproduzível e coloque o ponto de interrupção antes do comportamento inesperado.