подскажите в чом проблема, я не понимаю почему он выдает ошибку, язык программирования С ЗАДАНИЕ:пользователь вводит 4 числа необходимо определить какое из четырёх чисел наименьшее
PascalABC.NET 3.2, сборка 1383 от 09.02.2017 Внимание! Если программа не работает, обновите версию!
Используем "жадный" алгоритм. Он не всегда дает минимальное общее количество купюр, но зато простой в понимании.
begin var k:=Arr(500,100,50,10,5,2,1); // массив с достоинствами купюр var s:=ReadInteger('Введите сумму:'); // сумма к оплате Writeln('Уплатить:'); var i:=0; while s>0 do begin var p:=s div k[i]; if p>0 then Writeln(p,' шт. достоинством ',k[i],' руб.'); s:=s mod k[i]; i+=1 end; end.
Примеры Введите сумму: 3794 Уплатить: 7 шт. достоинством 500 руб. 2 шт. достоинством 100 руб. 1 шт. достоинством 50 руб. 4 шт. достоинством 10 руб. 2 шт. достоинством 2 руб.
Введите сумму: 507 Уплатить: 1 шт. достоинством 500 руб. 1 шт. достоинством 5 руб. 1 шт. достоинством 2 руб.
// PascalABC.NET 3.2, сборка 1383 от 09.02.2017 // Внимание! Если программа не работает, обновите версию!
1)
begin var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println; var jn:=b.FindIndex(x->x<0); // индекс первого отрицательного var jm:=b.IndexMax; // индекс первого максимального Swap(b[jn],b[jm]); b.Println end.