Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне [10,100]
. и сортирует его по возрастанию последней цифры числа (сначала идут все числа, которые заканчиваются на 0, потом все, которые заканчиваются на 1, и т. д.). Пример:
Массив: 12 10 31 40 55 63 28 87 52 92
Сортировка: 10 40 31 12 52 92 63 55 87 28
Лучший ответ
const n = 10;
var arr: array[1..n] of integer; i, j, tmp: integer;
begin
randomize;
write(‘Массив: ‘);
for i:=1 to n do begin
arr[i] := 10 + random(91);
write(arr[i], ‘ ‘);
end;
writeln;
for i:=2 to n do
for j:=i downto 2 do begin
if arr[j — 1] mod 10 break;
tmp := arr[j];
arr[j] := arr[j — 1];
arr[j — 1] := tmp;
end;
write(‘Сортировка: ‘);
for i:=1 to n do
write(arr[i], ‘ ‘);
end.
winchester090909Ученик (112) 2 года назад
спасибо большое!
Остальные ответы
А на питоне
import random
print(*sorted([random.randint(10, 100) for _ in range(10)], key=lambda x: x % 10))
Python в СРЦОД: 3. Заполнение массива случайными числами
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет количество положительных трёхзначных чисел в этом массиве, которые не делятся на 5.
Входные данные
Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – количество трёхзначных чисел в массиве, которые не делятся на 5.
Решение №10 из главы 15.Напишите программу, которая заполняет массив из 10 элементов случайными числами
Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.
program pascal_random_array_unique; type b = array[1..10] of integer; // секция обьявления типов < функция заполнения массива >function filling_array( min, max : integer ) : b; var count, i, j, l, number : integer; // секция обьявления переменных arr : b; begin // начало тела функции count := 0; l := 1; j := 0; randomize; // вызов процедуры while( count < 10 ) do // пока меньше 10 begin j := 0; number := random( max - (min + 1) + min ) ; // случайные числа if( arr[1] = 0 ) then // если значение элемента массива с индексом 1 равно 0 begin arr[1] := number; // присваиваем значение count += 1; // увеличиваем счетчик end else begin for i := low( arr ) to high( arr ) do // обходим массив begin if( arr[i] <>number ) then // если значение массива не равно значению random begin j += 1; // считаем длинну if( j = high( arr ) ) then // если длинна равна длинне массива begin l += 1; // увеличиваем индекс элемента массива arr[l] := number; // значение массива равно значению random count += 1; // увеличиваем счетчик end; end; end; end; end; filling_array := arr; // возвращаем значение функции end; // завершение тела функции procedure print_result ( arr : b ); // процедура вывода var i : integer; begin // начало тела процедуры for i := low( arr ) to high( arr ) do begin writeln( arr[i], ' ' ); // вывод значений end; end; // завершение тела процедуры var number1, number2 : integer; result_arr : b; begin // начало основной программы writeln( 'input min and max' ); readln( number1, number2 ); // считывание min и max значения result_arr := filling_array( number1, number2 ); print_result ( result_arr ); // вызов процедуры readln(); // удержание консоли end. // завершение основной программы
Key Words for FKN + antitotal forum (CS VSU):
- pascal
- Одномерные массивы и работа с ними в Паскале. Задание собственного типа данных
- Log in to post comments
- 8051 reads
![]()
Wed, 07/08/2020 — 20:05
Проверить ситуацию
5 // random 1|0|0|0|0|0|0 6 // random 5|?|0|0|0|0|6
— второе число, если не совпадает с первым, должно попасть во вторую ячейку.
_____________
матфак вгу и остальная классика =)
- Log in to post comments
![]()
Wed, 07/08/2020 — 20:10
Python 9: Массивы — 2 к 25.10
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет номера двух соседних элементов этого массива, имеющих минимальную сумму. Если таких пар несколько, нужно вывести номера элементов самой последней пары.
Входные данные
Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – номера двух соседних элементов массива, имеющих минимальную сумму.