Вывести на экран массив в прямоугольном виде - C (СИ)

Формулировка задачи:

Помогите с заданием. Задать двумерный массив 4*15 и заполнить его целыми числами из диапазона [-31, 45]. Вывести на экран массив в прямоугольном виде. Задать с клавиатуры целочисленное значение. Вывести на экран массив в прямоугольном виде, так чтобы отображались только элементы, равные введенному значению. Использовать функцию заполнения массива и две функции вывода массива на экран. Пока дошло до вот такого вида, и то выдаёт ошибку.
#include <stdio.h>
#include <stdlib.h>
# define N 4
# define M 15
int massive(int, int, int);
int vivod1(int, int);
int vivod2(int, int);
 
int main(void) {
    int mass[N][M], i = 0, j = 0;
    int random = massive(mass[N][M], i, j);
    printf("%3d", mass[i][j]);
    system("pause");
    return 0;
}
int massive(int mass[N][M], int i, int j) {
    for(i = 0; i < N; i++) {
            for(j = 0; j < M; j++) {
                mass[i][j] = - 31 + rand() % (45 + 31 + 1);
            }
        }
    return mass[N][M];
}


textual

Код к задаче: «Вывести на экран массив в прямоугольном виде - C (СИ)»

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
#define N 4
#define M 15
#define a -31
#define b 45
 
void createMatrix(int matr[N][M]);
void printFullMatrix(int matr[N][M]);
void printMinMatrix(int matr[N][M], int x);
 
 
 
int main(void) {
    int mass[N][M];
    int x;
    createMatrix(mass);
    printFullMatrix(mass);
    printf("\n\nVvedite tselochislennoe znachenie: ");
    scanf("%d", &x);
    printMinMatrix(mass, x);
    system("pause");
    return 0;
}
 
void createMatrix(int matr[N][M]){
    srand(time(NULL));
    for(int i=0; i<N; ++i)
        for(int j=0; j<M; ++j)
            matr[i][j]=rand()%(b - a + 1) + a;
 
}
 
void printFullMatrix(int matr[N][M]){
    printf("+");
    for(int j=1; j<5*M; ++j)
        j%5==0? printf("+") : printf("-");
    printf("+\n");
    for(int i=0; i<N; ++i){
        for(int j=0; j<M; ++j)
            printf("|%4d", matr[i][j]);
        printf("|\n+");
        for(int j=1; j<5*M; ++j)
            j%5==0? printf("+") : printf("-");
        printf("+\n");
    }
}
 
void printMinMatrix(int matr[N][M], int x){
    printf("\n\n+");
    for(int j=1; j<5*M; ++j)
        j%5==0? printf("+") : printf("-");
    printf("+\n");
    for(int i=0; i<N; ++i){
        for(int j=0; j<M; ++j)
            matr[i][j]==x ? printf("|%4d", x) : printf("|    ", x);
        printf("|\n+");
        for(int j=1; j<5*M; ++j)
            j%5==0? printf("+") : printf("-");
        printf("+\n");
    }
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

5   голосов, оценка 4.200 из 5

Источник
Похожие ответы