здравствуйте, помогите найти ошибку в программе.
#include
using namespace std;
int main()
{ int n;
int a[n];
int i;
i=0;
int q;
q=0;
int l;
l=1;
int w;
w=1000;
cin>>n;
while(i>a[i];
i++;
}
i=0;
if(a[i]==a[++i]){
i++;
}
q=a[i];
while(i<=n-1){
if(a[i]<=a[++i]) {
q=q+a[++i];
l++;
}
else{
q=q+a[++i];
l++;
if((q=3)){
w=q;
}
q=a[++i];
l=1;
}
i++;
}
cout<<w<<endl;
Для пополнения бюджета в стране Авалон, известной своими горными
туристическими маршрутами, ввели новый налог для туристов. Величина налога
пропорциональна длине маршрута, но, поскольку маршрут проходит по горам и пройденное
расстояние, зависящее от высоты спуска и подъёма, подсчитать сложно, налог считается без
учёта высоты, то есть величина налога пропорциональна горизонтальному перемещению,
совершённому туристической группой. Кроме того, в силу старинного обычая все
туристические группы должны перемещаться по горам Авалона строго с запада на восток.
Турфирма хочет сэкономить на налоге, поэтому она хочет разработать туристический
маршрут с минимальной величиной налога. При этом, поскольку маршрут является горным,
он должен содержать подъём в гору и спуск с горы, то есть на маршруте должна быть точка,
которая находится строго выше начала и конца маршрута.
Турфирма составила карту гор Авалона, содержащую информацию о высоте гор при
передвижении с запада на восток. Высоты гор измерены в точках через равные расстояния.
Найдите на данной карте гор Авалона туристический маршрут минимальной длины,
удовлетворяющий условию наличия подъёма и спуска.
Первая строка входных данных содержит число N – количество точек на карте гор
Авалона. Следующие N строк содержат информацию о высоте гор в данных N точках при
движении с запада на восток. Все числа натуральные, не превосходящие 105
.
Программа должна вывести два числа – номер точки начала маршрута и номер точки
окончания маршрута. Точки нумеруются от 1 до N. Если маршрута, удовлетворяющего
условиям, не существует, программа должна вывести одно число 0.
Но у нас задача заключается в том что бы найти само кратчайшее растояние.
Например всего гор 6
2
4
5
2
3
8
Вывести программа должна число 13 но пргорамма всегда выводит число W то есть 1000. Не понимаю почему по мне так программа должна работать исправно.
Другие языки программирования и технологии
программирование C++. Помогите найти ошибку
Откуда взялось 13, если кратчайший (как сказано в твоём тексте) маршрут, удовлетворяющий условиям: 4-5-2?
Представленный тобой код вообще компилироваться не будет - хотя бы из-за while(i>a[i];
Из явных ошибок: вместо if((q=3)){ должно быть if (q == 3) {
Представленный тобой код вообще компилироваться не будет - хотя бы из-за while(i>a[i];
Из явных ошибок: вместо if((q=3)){ должно быть if (q == 3) {
Ошибки такие. Совершенно нечитаемый код. Переменные определены раньше использования. Имя переменной должно полностью отражать ее назначение. Нет комментариев что происходит. Неверное использование инкремента i так что непонятно что должно произойти
бред какой-то
I tried to read the question, but the translation software can not accurately translate, so I can not provide answers, Sorry.But I can tell you why the program shows w=1000.
w is initialized to 1000 in the main function.the“}”of the main function appears before the while and for loops.It means that the“w " in the while and for loop is not the same variable as the“w”in the main function.the “w” in while and for loop is a local variable, after the end of the loop is recycled, your operation is invalid.
There are many logical errors in your program.
eg: int n;
int a[n];
These problems are caused by the lack of basic knowledge, it is recommended to read a book and then do the problem.
Because of the fear of translation into Russian will be wrong, so only translated into English.
Hope it helps you
w is initialized to 1000 in the main function.the“}”of the main function appears before the while and for loops.It means that the“w " in the while and for loop is not the same variable as the“w”in the main function.the “w” in while and for loop is a local variable, after the end of the loop is recycled, your operation is invalid.
There are many logical errors in your program.
eg: int n;
int a[n];
These problems are caused by the lack of basic knowledge, it is recommended to read a book and then do the problem.
Because of the fear of translation into Russian will be wrong, so only translated into English.
Hope it helps you
Похожие вопросы
- c++ помогите найти ошибку
- Помогите найти ошибку Delphi легкая программка
- Помогите найти ошибку в программе. C++
- Помогите найти ошибку в коде
- Помогите найти ошибку qbasic
- Программирование C# Помогите пожалуйста, кто понимает...
- Помогите найти ошибку в коде. делфи
- помогите найти ошибку в коде на Си
- Помогите найти ошибку в задачи,Паскаль...
- Помогите найти ошибки в коде (паскаль)