М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
1Raffaelka1
1Raffaelka1
04.02.2020 05:18 •  Информатика

Нужна с задачей! Буду рад за !
Задачу надо решить с С++.
12.141. Дан двумерный массив. Составить программу:
а) которая определяет, является ли последовательность элементов некоторой строки массива упорядоченной по неубыванию;
б) которая определяет, является ли последовательность элементов некоторого столбца массива упорядоченной по невозрастанию.
В случае отрицательного ответа в обеих задачах должны быть напечатаны
координаты первого элемента, нарушающего указанную упорядоченность.

👇
Ответ:
Mihailkim2018
Mihailkim2018
04.02.2020

Код:

#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";

}


Нужна с задачей! Буду рад за ! Задачу надо решить с С++. 12.141. Дан двумерный массив. Составить про
Нужна с задачей! Буду рад за ! Задачу надо решить с С++. 12.141. Дан двумерный массив. Составить про
Нужна с задачей! Буду рад за ! Задачу надо решить с С++. 12.141. Дан двумерный массив. Составить про
4,4(57 оценок)
Открыть все ответы
Ответ:
dmitrosevchuk
dmitrosevchuk
04.02.2020
Если задача заключается в том, что нужно поменять местами два столбца матрицы, то в приведенном фрагменте много лишних переменных.
Программа:
Program JHK;
const n=5;
var d:array[1..n,1..n]of real; 
i,j:integer; a:real;
begin
writeln('Исходный массив:');
for i:=1 to n do
begin
 for j:=1 to n do
  begin
  d[i,j]:=sin(i+j);
  write(d[i,j]:6:2);
  end;
writeln;
end;
for i:=1 to n do
 begin a:=d[i,1]; d[i,1]:=d[i,n]; d[i,n]:=a; end;
writeln('Измененный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do write(d[i,j]:6:2);
 writeln;
 end;
end.

Результат:
Исходный массив:
  0.91  0.14 -0.76 -0.96 -0.28
  0.14 -0.76 -0.96 -0.28  0.66
 -0.76 -0.96 -0.28  0.66  0.99
 -0.96 -0.28  0.66  0.99  0.41
 -0.28  0.66  0.99  0.41 -0.54
Измененный массив:
 -0.28  0.14 -0.76 -0.96  0.91
  0.66 -0.76 -0.96 -0.28  0.14
  0.99 -0.96 -0.28  0.66 -0.76
  0.41 -0.28  0.66  0.99 -0.96
 -0.54  0.66  0.99  0.41 -0.28
4,8(14 оценок)
Ответ:
destroyer0800
destroyer0800
04.02.2020
4)
Var    i,sum: integer;
Begin
i:=2;
    while (i<=22) do
         begin
        write(i,' ');
        i:=i+2
        end;
End.

5)
Var    i,sum: integer;
Begin
i:=5;
    while (i<=20) do
         begin
        sum:=sum+i;
        i:=i+1
        end;
  Writeln('Сумма чисел от 5 до 20 = ',sum)
End.

6)
Var    i,pr: integer;
Begin
i:=8;
pr:=1;
    while (i<=18) do
         begin
        pr:=pr*i;
        i:=i+2
        end;
  Writeln('Произведение четных чисел от 8 до 18 = ',pr)
End.

7)
Var    i: integer;
Begin
i:=10;
    while (i<=65) do
         begin
        Write(i,' ');
        i:=i+5
        end;
End.
4,5(30 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ