C++
4. В массиве хранится информация о стоимости 10 марок автомобилей. Определить сумму наиболее дорогого автомобиля и узнать его номер. Если таких автомобилей несколько, определить:
а) номер первого такого автомобиля;
б) номер последнего такого автомобиля.

Shavelko Shavelko    1   22.03.2020 13:28    228

Ответы
hat345oxt288 hat345oxt288  22.12.2023 09:44
Добрый день! Сегодня мы поговорим о задаче, связанной с массивами в языке программирования C++.

Перед нами стоит задача определить сумму наиболее дорогого автомобиля и узнать его номер. В массиве хранится информация о стоимости 10 марок автомобилей. Мы должны найти номер автомобиля, который имеет максимальную стоимость из всех.

Давайте начнем!

1. В начале, нам нужно создать массив для хранения стоимостей автомобилей. В задаче сказано, что информация содержится в массиве. Давайте объявим и инициализируем наш массив следующим образом:

```cpp
int cost[10] = {100, 150, 200, 300, 250, 400, 350, 450, 500, 550};
```

2. Теперь, чтобы найти наиболее дорогой автомобиль, мы должны пройти по всем элементам массива и найти максимальное значение. Также, нам понадобится переменная для хранения номера найденного автомобиля.

```cpp
int maxCost = cost[0]; // Инициализируем переменную максимальной стоимости первым элементом массива
int maxIndex = 0; // Инициализируем переменную номера первым индексом массива
```

3. Теперь давайте пройдемся по всем элементам массива с помощью цикла for и сравнивать каждый элемент с текущим максимальным значением:

```cpp
for(int i = 1; i < 10; i++) {
if(cost[i] > maxCost) {
maxCost = cost[i];
maxIndex = i;
}
}
```

4. После завершения цикла, мы получим максимальную стоимость и номер автомобиля. Мы можем вывести результаты на экран:

```cpp
cout << "Наиболее дорогой автомобиль имеет номер: " << maxIndex << endl;
cout << "Стоимость наиболее дорогого автомобиля: " << maxCost << endl;
```

Теперь ответим на вторую часть вопроса - если таких автомобилей несколько.

а) Чтобы найти номер первого автомобиля с максимальной стоимостью, нам достаточно изменить наш цикл for следующим образом:

```cpp
int firstMaxIndex = -1; // Переменная для хранения номера первого автомобиля с максимальной стоимостью

for(int i = 1; i < 10; i++) {
if(cost[i] == maxCost) {
firstMaxIndex = i;
break; // Прерываем цикл, когда находим первый автомобиль с максимальной стоимостью
}
}

if(firstMaxIndex != -1) {
cout << "Номер первого автомобиля с максимальной стоимостью: " << firstMaxIndex << endl;
} else {
cout << "Нет таких автомобилей" << endl;
}
```

б) Чтобы найти номер последнего автомобиля с максимальной стоимостью, нам придется изменить цикл for следующим образом:

```cpp
int lastMaxIndex = -1; // Переменная для хранения номера последнего автомобиля с максимальной стоимостью

for(int i = 9; i >= 0; i--) {
if(cost[i] == maxCost) {
lastMaxIndex = i;
break; // Прерываем цикл, когда находим последний автомобиль с максимальной стоимостью
}
}

if(lastMaxIndex != -1) {
cout << "Номер последнего автомобиля с максимальной стоимостью: " << lastMaxIndex << endl;
} else {
cout << "Нет таких автомобилей" << endl;
}
```

Вот и всё! Теперь мы знаем, как найти наиболее дорогой автомобиль и его номер, а также определить номер первого и последнего автомобилей с максимальной стоимостью.

Я надеюсь, что мой ответ был достаточно подробным и понятным. Если у вас остались вопросы - не стесняйтесь задавать!

Удачи в изучении программирования!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика