1

Тема: Вкладені цикли. Послідовності у рядках матриці*

Дано натуральне число n> = 2, дійсна квадратна матриця порядку n. Побудувати послідовність b1, .., bn з нулів та одиниць, в якій bi = 1 тоді і тільки тоді, коли елементи i-го рядка матриці утворюють зростаючу послідовність.

2

Re: Вкладені цикли. Послідовності у рядках матриці*

Напрацювання в студію.
І суть проблеми.

3

Re: Вкладені цикли. Послідовності у рядках матриці*

Напрацювань нема навіть не знаю з чого почати.

4

Re: Вкладені цикли. Послідовності у рядках матриці*

Почати варто з опису алгоритму роботи.

З.І: а тему бажано перейменувати, бо назва не описує суті проблеми.

5

Re: Вкладені цикли. Послідовності у рядках матриці*

а можете допомогти?

6

Re: Вкладені цикли. Послідовності у рядках матриці*

Цикл для рядків:
    
    Цикл у рядку:
        Якщо наступний не більший від попереднього:
            зупинитися; вивести нуль і перейти до наступного рядка;
    Весь цикл у рядку;
    вивести одиницю, бо все ок;

Весь цикл для рядків.

--------------------------------

А реалізацію зробити спробуйте самостійно.

7

Re: Вкладені цикли. Послідовності у рядках матриці*

Щось я не зовсім зрозумів, як це реалізувати у програмі :( :( :(

8

Re: Вкладені цикли. Послідовності у рядках матриці*

На кого вчитеся?

9

Re: Вкладені цикли. Послідовності у рядках матриці*

Вчуся на кораблебудівника.
Нам просто поставили програмування яке ми не вчили і яке нам непотрібне.
Я навіть не знаю з чого починати, не говорячи про те як писати програми, і спитати нема у кого. :( :( :(

10

Re: Вкладені цикли. Послідовності у рядках матриці*

V1rus написав:

Вчуся на кораблебудівника.
Нам просто поставили програмування яке ми не вчили і яке нам непотрібне.
Я навіть не знаю з чого починати, не говорячи про те як писати програми, і спитати нема у кого. :( :( :(

Добре, приймається за поважну причину. :)

#include <iostream>
#include <ctime>

int main()
{

srand(time(0));

const int n = 10; /* size of matrix */

    int matrix[n][n];
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
            {
                 matrix[i][j] = rand()%100+1;
                 printf("%03d ", matrix[i][j]);
            }
        printf("\n");
    }

    printf("\n");
    
    int result[n] = {0};
    bool isRowIncreased;

    for(int i=0; i<n; i++)
    {
        isRowIncreased = true;

        for(int j=0; j<(n-1); j++)
            if(matrix[i][j] >= matrix[i][j+1])
            {
                isRowIncreased = false;
                break;
            }
        if( isRowIncreased )
            result[i] = 1;
    }

    for(int j=0; j<n; j++)
        printf("%d ", result[j]);

    printf("\n");

    return 0;
}

Щоправда, код, що заповнює початкову матрицю, рідко генерує абсолютно зростаючий рядок, тому заповнити можете будь-яким чином.

11

Re: Вкладені цикли. Послідовності у рядках матриці*

Велике дякую!
Я не зовсім розумію тут є вкладений цикл?

12

Re: Вкладені цикли. Послідовності у рядках матриці*

Вкладеного циклу нема лише під час виведення результативного масиву. В інших випадках є.

13

Re: Вкладені цикли. Послідовності у рядках матриці*

А якщо щось переставити у тексті?

14

Re: Вкладені цикли. Послідовності у рядках матриці*

V1rus написав:

А якщо щось переставити у тексті?

Про що мова?