#include <iostream>
#include <ctime>
int main()
{
using namespace std;
setlocale(LC_ALL, "ru");
srand(time(NULL));
int size;
int mult = 1;
cout << "Введите размер массива: " << endl;
cin >> size;
int *arr = new int[size];
cout << "Массив: " << endl;
for (int i = 0; i < size; i++)
{
arr[i] = rand() % 50 - 25;
cout << arr[i] << '\t';
if (i & 1 && arr[i] != 0)
mult *= arr[i];
}
cout << "\nРезультат: " << mult;
delete[] arr;
return 0;
}
program jumping;
var
i, j, temp: integer;
B: array [1..10] of integer;
begin
for i := 1 to 10 do
read(B[i]);
for i := 1 to 9 do
for j := 1 to 10 - i do
if (B[j] < B[j + 1]) then
begin
temp := B[j];
B[j] := B[j + 1];
B[j + 1] := temp;
end;
writeln('Первое место: ', B[1]);
writeln('Второе место: ', B[2]);
writeln('Третье место: ', B[3]);
end.
Объяснение:
program jumping; // Название программы
var
i, j, temp: integer; // Целочисленные переменные:
i - переменная счетчик для цикла forj - переменная счетчик для цикла fortemp - переменная для временного хранения значений массиваB: array [1..10] of integer; // Целочисленный массив из 10 чисел
begin // Начало программы
for i := 1 to 10 do // Идём с первого по десятый элементы массива
read(B[i]); // Ввод значений массива
// Сортировка массива в порядке убывания
for i := 1 to 9 do // Идём с первого по девятый элементы массива
for j := 1 to 10 - i do // Идём с первого по 10 - i элементы массива
if (B[j] < B[j + 1]) then // Если последующий элемент больше предыдущего
begin // Начало цикла
temp := B[j]; // Временная переменная = значению массива B с индексом j
B[j] := B[j + 1]; // Значение массива B с индексом j = значению массива B с индексом j + 1
B[j + 1] := temp; // Значение массива B с индексом j = значению временной переменной
end; // Конец цикла
writeln('Первое место: ', B[1]); // Вывод ответа
writeln('Второе место: ', B[2]); // Вывод ответа
writeln('Третье место: ', B[3]); // Вывод ответа
end. // Конец программы
Поделитесь своими знаниями, ответьте на вопрос:
Кто может решить по паскалю? 1)даны числа a1, получить в порядке возрастания (в новом массиве) все различные числа, входящие в a1, . 2)даны два набора чисел c1, cn и d1, d2, dm. соединить их в один массив f (только написать нужно чтобы числа в массив вводились вручную, а не рандоные)
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger(ReadInteger('n='));
var b:=a.Distinct.OrderBy(x->x).ToArray; b.Println
end.
Пример
n= 7
3 -5 6 3 3 4 1
-5 1 3 4 6
begin
var n1:=ReadInteger('Длина первого массива-');
var c:=ReadSeqInteger('Вводите массив:',n1).OrderBy(x->x).ToArray;
var n2:=ReadInteger('Длина второго массива-');
var d:=ReadSeqInteger('Вводите массив:',n2).OrderBy(x->x).ToArray;
//собственно слияние
var f:=new integer[n1+n2];
var (ic,id,&if):=(0,0,0);
repeat
if c[ic]<d[id] then begin f[&if]:=c[ic]; ic+=1 end
else begin f[&if]:=d[id]; id+=1 end;
&if+=1
until (ic=n1) or (id=n2);
if ic=n1 then
repeat
f[&if]:=d[id]; id+=1; &if+=1
until id=n2
else
repeat
f[&if]:=c[ic]; ic+=1; &if+=1
until ic=n1;
Write('Массив F: '); f.Println(',')
end.
Пример
Длина первого массива- 6
Вводите массив: 4 0 -3 6 4 2
Длина второго массива- 5
Вводите массив: 3 6 -3 0 2
Массив F: -3,-3,0,0,2,2,3,4,4,6,6