Код:
#include <iostream>
#include <string>
using namespace std;
void printArray(int** arr, size_t X, size_t Y) {
for (size_t i = 0; i < X; ++i) {
for (size_t j = 0; j < Y; ++j) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
int main() {
size_t X, Y;
cout << "Number of rows in the array: ";
cin >> X;
cout << "Elements in each row of the array: ";
cin >> Y;
int** arr = new int* [X];
for (size_t i = 0; i < X; ++i) {
arr[i] = new int[Y];
cout << "#" << i + 1 << ": ";
for (size_t j = 0; j < Y; ++j)
cin >> arr[i][j];
}
size_t index;
cout << "index to check the row for non-decreasing ordering: ";
cin >> index;
--index; // numbering from 1
bool flag = 1;
for (int i = 0; i < Y - 1; ++i) {
if (!(arr[index][i] <= arr[index][i + 1])) {
cout << "No, " << i + 1 << (i + 1 == 1 ? "st" : (i + 1 == 2 ? "nd" : (i + 1 == 3) ? "rd" : "th")) << " element (" << arr[index][i] << ") violates the non-decreasing ordering (" << arr[index][i] << " > " << arr[index][i + 1] << ").\n";
flag = 0;
break;
}
}
if (flag)
cout << "Yes, the specified row is ordered in non-decreasing order.\n";
flag = 1;
index = 1;
cout << "index to check the column for non-increasing ordering: ";
cin >> index;
--index;
flag = 1;
for (int i = 0; i < X - 1; ++i) {
if (!(arr[i][index] >= arr[i + 1][index])) {
cout << "No, " << i + 1 << (i + 1 == 1 ? "st" : (i + 1 == 2 ? "nd" : (i + 1 == 3) ? "rd" : "th")) << " element (" << arr[i][index] << ") violates the non-increasing ordering (" << arr[i][index] << " < " << arr[i][index + 1] << ").\n";
flag = 0;
break;
}
}
if (flag)
cout << "Yes, the specified row is ordered in non-increasing order.\n";
}
Поделитесь своими знаниями, ответьте на вопрос:
Подумайте о ситуации, когда вам нужно поговорить с машиной (например, забронировать билет на поезд в автоматическом бронировании билетов Сначала ведите диалог таким образом, чтобы достичь намеченной цели, а затем попытайтесь запутать машину, чтобы диалог шел в необычном направлении
Const
n = 12;
var
i, p: integer;
a: array[1..n] of integer;
begin
p := 1;
for i := 1 to n do
begin
a[i] := random(150) - 100;
write(a[i], ' ');
if a[i] > 0 then p := p * a[i];
end;
writeln;
writeln('P = ', p);
end.
2)uses crt;
var a:array [1..10] of integer;
i:integer;
begin
clrscr;
randomize;
{генерируем и выводим новый массив}
for i:=1 to 10 do
begin
a[i]:=random(9)+1;
write(a[i]:3);
end;
writeln;
{в цикле проверяем если счетчик i делится на 2 ( признак четности) то либо возводим в степень либо удваиваем}
for i:=1 to 10 do
begin
if (i mod 2=0 ) then a[i]:=a[i]*a[i]
else a[i]:=a[i]*2;
end;
{выводим конечный массив}
for i:=1 to 10 do
write(a[i]:3);
readkey;
end.
3)var arr:array[1..20] of integer;
max,q:integer;
begin
writeln ('ARRAY: ');
for q:=1 to 20 do
begin
arr[q]:=random(80);
write (arr[q]:3);
end;
max:=arr[1];
for q:=2 to 20 do
if arr[q]>max then max:=arr[q];
writeln;
writeln('MAX = ',max);
end.