Olá Juan, como vai? Espero que esteja bem!
O seu código está quase certo, mas há um pequeno erro que está causando o problema. O erro está na declaração do vetor "preco". Você declarou o vetor com tamanho 4, mas está atribuindo valores a 5 posições (índices 0, 1, 2, 3 e 4). Isso está causando um erro de acesso inválido à memória.
Para corrigir esse problema, você precisa declarar o vetor "preco" com tamanho 5, para que seja possível armazenar os 5 valores corretamente. Ficaria assim:
int preco[5];
preco[0] = 1000000;
preco[1] = 46000;
preco[2] = 16000;
preco[3] = 46000;
preco[4] = 17000;
Com essa correção, o seu código deve funcionar corretamente e encontrar o menor preço entre os carros.
Espero ter ajudado!
Caso tenha dúvidas, fico à disposição.
Abraços e bons estudos!