Отредактировать часть кода, под указателя - C (СИ)
Формулировка задачи:
Всем привет! Надо сделать программу с указателями, и нужно отредактировать эту часть
Полный код программы
for(i=0;i<n;i++) {for(j=0;j<m;j++) {for(k=m-1;k>j;k--) if (mas[i][k]<mas[i][k-1]) { buf=mas[i][k]; mas[i][k]=mas[i][k-1]; mas[i][k-1]=buf; } printf("%2d",mas[i][j]); } printf("\n"); }
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { setlocale(LC_ALL,"rus"); srand(time(0)); int n,m; printf("Ââåäèòå Г°Г*çìåð Г¬Г*òðèöû n="); scanf("%d",&n); printf("Ââåäèòå Г°Г*çìåð Г¬Г*òðèöû m="); scanf("%d",&m); int i,k,j,mas[n][m],sum=0,buf,a=0,s; int *pm=&mas[0][0]; for(i=0;i<n*m;i++) {*pm=rand()%5-2; pm++;} printf("\nÑãåГ*èðèðîâГ*Г*Г*ûé matrix:"); pm=&mas[0][0]; for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) { printf("%2d",*pm); pm++;}} printf("\n\n===========> a) Г*óëåâîé ýëåìåГ*ГІ: <===========\n"); pm=&mas[0][0]; for(i=0;i<m;i++) { if(*pm==0) {s=i;a=1;break;} else {a=0;} pm+=m; } if(a == 1) {printf("\nÏåðâûé ñòîëáåö èìååò Г*óëåâîé ýëåìåГ*ГІ\nГ€Г*äåêñ: a[%d][0]\n",s+1);} else {printf("\nÑòîëáöîâ Г± ýëåìåГ*ГІГ*ìè Г°Г*ГўГ*ûìè Г*óëþ Г*ГҐГІ!!!\n");} printf("\n===========> ГЎ.1) ÑóììГ*: <===========\n"); pm=&mas[0][0]; for(i=0;i<=n;i++) { for(j=0;j<=n;j++) {if((*pm<0) && (*pm%2==0)) {sum+=*pm;} pm++;} } printf("\nÑóììГ* îòðèöГ*òåëüГ*ûõ ГЁ Г·ГҐГІГ*ûõ Г·ГЁГ±ГҐГ« Г°Г*ГўГ*Г®= %d\n",sum); printf("\n===========> ГЎ.2) ÑîðòèðîâêГ*: <===========\n\n"); for(i=0;i<n;i++) {for(j=0;j<m;j++) {for(k=m-1;k>j;k--) if (mas[i][k]<mas[i][k-1]) { buf=mas[i][k]; mas[i][k]=mas[i][k-1]; mas[i][k-1]=buf; } printf("%2d",mas[i][j]); } printf("\n"); } printf("\n"); system("pause"); return 0; }
Помогите пожалуйста эту часть только, это сортировка по строку матрицы
for(i=0;i<n;i++) {for(j=0;j<m;j++) {for(k=m-1;k>j;k--) if (mas[i][k]<mas[i][k-1]) { buf=mas[i][k]; mas[i][k]=mas[i][k-1]; mas[i][k-1]=buf; } printf("%2d",mas[i][j]); } printf("\n"); }
Решение задачи: «Отредактировать часть кода, под указателя»
textual
Листинг программы
*(*(mas + i) + k)
Объяснение кода листинга программы
В данном коде происходит обращение к элементу массива по индексу. Список операций:
- (mas + i) - указатель на элемент массива (в данном случае смещен на i элементов вперед от начала массива)
- *(mas + i)** - разыменование указателя на элемент массива
-
- k - прибавление значения k к полученному элементу массива В итоге получаем обращение к элементу массива с индексом i+k.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д