Помогите решить задачу:"Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, оканчивающееся на 3." Вот то, что у меня получилось [Язык программирования C++]: #include #include using namespace std; int main(){ int user_nums[1000]; int first_stage[1000]; int second_stage[1000]; cout << "Enter your numbers: " << endl; for(int i = 0; i <= 1000; i++){ cin >> user_nums[i]; if(user_nums[i] == 0){ user_nums[i] = 3; break; } else{ continue; } } system("cls"); for(int i = 0; i <= 1000; i++){ if(user_nums[i] <= 30000){ first_stage[i] = user_nums[i]; int ost = first_stage[i] % 10; if(ost == 3){ second_stage[i] = first_stage[i]; } else{ continue; } } else{ continue; } } int max_arr = 0; for(int i = 0; i <= 1000; i++){ if(max_arr <= second_stage[i]){ max_arr = second_stage[i]; } else{ continue; } } cout << max_arr << endl; cin.get(); cin.get(); return 0; } Но проблема в том, что на выходе получаются числа, не соответствующие условию.Возможно это связано с тем,что в массив хаотично заполняется числами, выгруженными из оперативной памяти.

Ответы:
Ashot Gevorgyan
29-08-2010 00:04

#include using namespace std;int main(){int n,max;bool a=false;cout<<"enter kol-vo numbers:"<>n;if(n<=1000){int arr[n];cout<< "enter 1 chislo"<>arr[0];max=arr[0];if(arr[0] % 10==3 && arr[0]<30000){a=true;for (int i=1;i>arr[i]; if(arr[i]>30000) {goto b;}}for (int i = 0; i < n; ++i) {if (arr[i] > max && arr[i] % 10==3){max = arr[i];}} }}b:if(a){ cout<<" max chislo okanch na 3: "<< max<

Также наши пользователи интересуются:

⭐⭐⭐⭐⭐ Лучший ответ на вопрос «Помогите решить задачу:"Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, оканчивающееся на 3." Вот то, что у меня получилось [Язык программирования C++]: #include #include using namespace std; int main(){ int user_nums[1000]; int first_stage[1000]; int second_stage[1000]; cout << "Enter your numbers: " << endl; for(int i = 0; i <= 1000; i++){ cin >> user_nums[i]; if(user_nums[i] == 0){ user_nums[i] = 3; break; } else{ continue; } } system("cls"); for(int i = 0; i <= 1000; i++){ if(user_nums[i] <= 30000){ first_stage[i] = user_nums[i]; int ost = first_stage[i] % 10; if(ost == 3){ second_stage[i] = first_stage[i]; } else{ continue; } } else{ continue; } } int max_arr = 0; for(int i = 0; i <= 1000; i++){ if(max_arr <= second_stage[i]){ max_arr = second_stage[i]; } else{ continue; } } cout << max_arr << endl; cin.get(); cin.get(); return 0; } Но проблема в том, что на выходе получаются числа, не соответствующие условию.Возможно это связано с тем,что в массив хаотично заполняется числами, выгруженными из оперативной памяти.» от пользователя СЕРГЕЙ ГУХМАН в разделе Экономика. Задавайте вопросы и делитесь своими знаниями.

Открой этот вопрос на телефоне - включи камеру и наведи на QR-код!