На вход программе подается положительное целое число n, состоящее только из цифр 6 и 9. Напишите программу, которая возвращает максимальное число, которое вы можете получить, изменив не более одной цифры (6 заменяется на 9, а 9 на 6). Формат входных данных
На вход программе подается целое число, состоящее из цифр 6 и 9.
Формат выходных данных
Программа должна вывести максимальное число, которое можно получить, если изменить не более одной цифры.
Sample Input 1:
6666
Sample Output 1:
9666
Sample Input 2:
9996
Sample Output 2:
9999
Sample Input 3:
9999
Sample Output 3:
9999
Sample Input 4:
6996
Sample Output 4:
9996
Если я все правильно понял, то так:
#include <iostream>
#include <algorithm>
/*
Написать на C++:в матрице 4*5 замените на -2 столбцы с положительными суммами элементов,
а затем в качестве первого вставьте столбец из минимальных элементов соответственных строк
*/
#define N 4 // строки
#define M 5 // столбцы
int main()
{
int
matrix[N][M],
sum(0);
for(int i = 0; i < N; i++)//инициализируем матрицу.
{
for(int j = 0; j < M; j++)
{
std::cin >> matrix[i][j];
}
}
for(int i = 0; i < N; i++)//выводим начальную матрицу
{
for(int j = 0; j < M; j++)
{
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
for(int j = 0; j < M; j++)//выполняем 1 задание
{
for(int i = 0; i < N; i++)
{
sum+=matrix[i][j];
}
if(sum)
{
for(int i = 0; i < N; i++)
{
matrix[i][j] += -2;
}
}
}
int minimal(0);
for(int i = 0; i < N; i++)//выполняем второе задание
{
minimal = std::min(matrix[i][0], matrix[i][M-1]);
matrix[i][0] = minimal;
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
{
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
p.s я не заморачивался насчет читабельности и оптимизации кода, ибо делаю не для себя. Но, по-моему, должно работать.
В противном случае пиши мне, исправлю.
var a, b,c,k,d,e,g,h : integer;
var f : integer;
begin
writeln('Введите стоимости билета за проезд до первой, до второй и до конечной станции через пробел :');
readln(a,b,c);
writeln('Введите сколько рублей должна быть конечная выручка : ');
readln(k);
d := 10*a;
e := 20*b;
g := 20*c;
h := d+e+g;
f := h div k;
writeln(f, ' Рейсов нужно совершить нужно совершить.');
end.
Лог :
Введите стоимости билета за проезд до первой, до второй и до конечной станции через пробел :
1
1
1
Введите сколько рублей должна быть конечная выручка :
50
1 Рейсов нужно совершить нужно совершить.