Экономика
Помогите решить задачу:
"Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 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;
}
Но проблема в том, что на выходе получаются числа, не соответствующие условию.Возможно это связано с тем,что в массив хаотично заполняется числами, выгруженными из оперативной памяти.
9 класс. Сделайте программу в паскале Ввести натуральное число и определить, какие цифры встречаются несколько раз, если никакие не повторяются вывести: "Цифры не повторяются."
У меня получилось ну это не правильно!
program five;
var n,m,i,j,k:integer;
begin
write('Введите число:');
readln(n);
for i:=0 to 9 do
begin
k:=0;
m:=n;
while m<>0 do
begin
j:=m mod 10;
if j=i then k:=k+1;
m:=m div 10;
end;
writeln('цифра ',i,' встречается ',k,' раз');
end;
end.