Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Перестановка строк матрицы1-й способ. С использованием вспомогательной переменной P (того же типа, что и элементы массива) перестановка осуществляется во всех столбцах двух строк. for (k=0; k<n; k++) { P=A[i][k]; A[i][k]=A[j][k]; A[j][k]=P; } 2-й способ С использованием вспомогательного массива, в который целиком пересылается одна из строк для временного хранения. for (k=0; k<n; k++) c[k]=a[i][k]; for (k=0; k<n; k++) a[i][k]= a[j][k]; for (k=0; k<n; k++) a[j][k]=c[k]; Примеры решения 1. Вычисление и вывод на экран таблицы умножения в форме матрицы Пифагора. #include <stdio.h> #include<conio.h> void main() { const int n=10; int a[n][n], i, j; clrscr(); for (i=1; i<n; i++) { for (j=1; j<n; j++) { a[i][j]=i*j; printf ("%5d", a[i][j]); } printf ("\n"); } getch(); } По данной программе в двумерном массиве не будут заполнены нулевая строка и нулевой столбец. 2. Заполнение матрицы случайными числами в диапазоне от 0 до 99 и поиск в ней максимального значения. #include <stdio.h> #include<conio.h> #include <stdlib.h> #define n 5 void main() { int a[n][n], i, j, imax, jmax; clrscr(); randomize(); for (i=0; i<n; i++) { for (j=0; j<n; j++) { a[i][j]=rand() % 100; printf (“%d\t”, a[i][j]); } printf (“\n”); } imax=jmax=0; // начало поиска for (i=0; i<n; i++) for (j=0; j<n; j++) if (a[i][j]>a[imax][jmax]) { imax=i; jmax=j; } printf (“max=a[%d][%d]=%d\n”, imax, jmax, a[imax][jmax]); getch(); } 3. Дан двумерный массив различных вещественных чисел, содержащий 5 строк и 4 столбца. Строку, содержащую максимальный элемент массива, поменять местами со строкой, содержащей минимальный элемент: #include <stdio.h> void main() { float m1[5][4], max, min, m2[4]; int maxi, mini, i, j; puts("Введите исходный массив: \n"); for(i=0;i<5;i++) for(j=0;j<4;j++) scanf("%f", &m1[i][j]); max=m1[0][0]; min=m1[0][0]; for(i=0;i<5;i++) for(j=0;j<4;j++) if(max<=m1[i][j]) {max=m1[i][j]; maxi=i;} for(i=0;i<5;i++) for(j=0;j<4;j++) if(min>=m1[i][j]) {min=m1[i][j]; mini=i;} for(j=0;j<4;j++) m2[j]=m1[maxi][j]; for(j=0;j<4;j++) m1[maxi][j]=m1[mini][j]; for(j=0;j<4;j++) m1[mini][j]=m2[j]; puts("Массив после перестановки строк:\n"); for(i=0;i<5;i++) {for(j=0;j<4;j++) printf("%f ", m1[i][j]); printf("\n");} }
|