В двух матрицах на место отрицательных элементов записать 1 - C (СИ)
Формулировка задачи:
В матрицах B(10,10) и P(15,15) на место отрицательных элементов записать 1, уровне выполнить с помощью функции.
Пожалуйста, помогите с решением данной задачи.
Программа с вызовом функции:
Файл Файл
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include "C:\Documents and Settings\Admin\Рабочий стол\random.h" #include "C:\Documents and Settings\Admin\Рабочий стол\zamena.h" #define N 10 #define M 15 int main(void) { setlocale(LC_ALL,"RUS"); int A[N][N], B[M][M]; printf("Первый массив:\n"); random(A,N); printf("\nВторой массив:\n"); random(B,M); zamena(A,N); for(int i=0; i<size; i++) { for(int j=0; j<size; j++) { printf("%3d",A[i][j]);} printf("\n"); } zamena(B,N); for(int i=0; i<size; i++) { for(int j=0; j<size; j++) { printf("%3d",B[i][j]);} printf("\n"); } _getch(); return 0; }
random.h
для генерирования случайных чисел:void random(int vec[][], const int size) { for(int i=0; i<size; i++) { for(int j=0; j<size;j++) { vec[i][j] = 5 - rand()%10; printf("%3d", vec[i][j]);} printf("\n"); } }
zamena.h
для замены отрицательных элементов на1
:int zamena(int vec[][], const int size) { for(int i=0; i<size; i++) { for(int j=0; j<size; j++) if(vec[i][j] < 0) { vec[i][j]=1; return vec[i][j]; } } }
Решение задачи: «В двух матрицах на место отрицательных элементов записать 1»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> //----------------------------------------------------------------------------- void Random(int* array, size_t size) { size_t i; for (i = 0; i < size; ++i) { array[i] = 5 - rand() % 10; } } //----------------------------------------------------------------------------- void Print(int* array, size_t col, size_t row) { size_t i, j; for (i = 0; i < row; ++i) { for (j = 0; j < col; ++j) { printf("%4d", array[i * col + j]); } printf("\n"); } } //----------------------------------------------------------------------------- void Replace(int* array, size_t size) { size_t i; for (i = 0; i < size; ++i) { if (array[i] < 0) { array[i] = 1; } } } //----------------------------------------------------------------------------- #define N 10 #define M 15 int main() { int A[N][N], B[M][M]; srand(time(NULL)); printf("A:\n"); Random((int*)A, N * N); Print((int*)A, N, N); Replace((int*)A, N * N); printf("\n"); Print((int*)A, N, N); printf("B:\n"); Random((int*)B, M * M); Print((int*)B, M, M); Replace((int*)B, M * M); printf("\n"); Print((int*)B, M, M); return 0; }
Объяснение кода листинга программы
- Объединение двух матриц (A и B) в одну матрицу C.
- Заполнение матрицы C случайными числами от -5 до 5.
- Замена всех отрицательных чисел в матрице C на 1.
- Вывод матрицы C на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д