Encontrar o maior valor de um array em C e C++
Nesta lição, você vai encontrar o maior valor de um array comparando os elementos um por um.
Introdução
Para encontrar o maior valor, usamos uma variável com o maior valor visto até agora e a comparamos com cada elemento restante. Sempre que aparece um elemento maior, essa variável é atualizada.
Pontos importantes
- Ative os avisos do compilador (compiler warnings) e corrija todos eles.
- Entenda o tipo de dado e o tempo de vida (lifetime) de cada valor.
- Sempre valide os dados de entrada e os limites dos índices de arrays.
Exemplos de código C e C++
#include <stdio.h>
int main(void) {
int values[] = {-4, 7, 23, 9, 12}; int maximum = values[0];
// Compare every remaining value with the current maximum.
for (size_t i = 1; i < sizeof values / sizeof values[0]; ++i)
if (values[i] > maximum) maximum = values[i];
printf("max=%d\n", maximum);
}
max=23
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector values{-4, 7, 23, 9, 12};
// max_element returns an iterator to the largest value.
std::cout << "max=" << *std::max_element(values.begin(), values.end()) << '\n';
}
max=23
Comparação entre C e C++
A variável maximum começa com o primeiro elemento, e não com 0. Assim o programa continua correto quando o array só tem números negativos, caso em que começar com 0 daria um resultado errado. O laço percorre a partir do segundo elemento e atualiza maximum ao encontrar um valor maior; o resultado é max=23.
C usa funções procedurais pequenas e deixa à vista como os dados ficam na memória.
C++ continua permitindo trabalhar em baixo nível, mas acrescenta tipos da biblioteca e abstrações mais seguras.
Exercícios práticos
Execute as duas versões e depois mude o código para observar a diferença de segurança que cada linguagem oferece.
- Teste entradas inválidas e valores nos limites.
- Compile com as flags -Wall -Wextra -Wpedantic para ativar mais avisos.
- Separe as declarações compartilhadas em um arquivo de cabeçalho e a implementação em outro arquivo.
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
- Máximo do Array Encontre o maior valor em uma lista. Fácil
- Count Positive Numbers Count the values greater than zero in a list. Fácil