Вывести на экран массив в прямоугольном виде - 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
Листинг программы
#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"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д