Поменть в каждой строке матрицы первый элемент с последним - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, как в двухмерном массиве, заданном рандомно числами n(строки) и m(столбцы), поменть в каждой строке первый элемент с последним. (именно эта часть кода)
Очень надеюсь на вашу помощь!)
начло кода такое:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main(void) {
setvbuf(stdout,NULL,_IONBF,0);
int n,i,m,j;
int**A;
printf("\n Введите N= ");
scanf("%d",&n);
printf("\n Введите M= ");
scanf("%d",&m);
A=(int**)malloc(n*sizeof(int*));
for(i=0;i<n;i++) {
A[i]=(int*)malloc(m*sizeof(int));
}
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
A[i][j]=(float)rand();
printf("%d ",A[i][j]);
}
printf("\n");
}
А да и вот такое работает только для квадратных матриц(
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main(void) {
setvbuf(stdout,NULL,_IONBF,0);
int n,i,m,j;
int**A;
printf("\n Введите N= ");
scanf("%d",&n);
printf("\n Введите M= ");
scanf("%d",&m);
A=(int**)malloc(n*sizeof(int*));
for(i=0;i<n;i++) {
A[i]=(int*)malloc(m*sizeof(int));
}
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
A[i][j]=(float)rand();
printf("%d ",A[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < n; ++i) {
int tmp = A[i][0];
A[i][0] = A[i][m-1];
A[i][m-1] = tmp;
}
/* вывод результата */
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", A[i][j]);
}
printf("\n");
}
free(A);
return EXIT_SUCCESS;
}Решение задачи: «Поменть в каждой строке матрицы первый элемент с последним»
textual
Листинг программы
A[i][j]=rand() % 10;
Объяснение кода листинга программы
- Создается двумерный массив (матрица) с именем A размером i x j.
- В каждой строке матрицы первый элемент заменяется на случайное число от 0 до 9, полученное с помощью функции rand().
- Функция rand() возвращает случайное целое число в диапазоне от 0 до RAND_MAX.
- Используется оператор модуля (%) для получения остатка от деления случайного числа на 10, что гарантирует получение числа от 0 до 9.
- Номер строки i и номер столбца j передаются в качестве аргументов в функцию, которая выполняет замену первого элемента каждой строки.
- Значение переменной A[i][j] после выполнения замены будет содержать случайное число от 0 до 9.