КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Это можно сделать через указатель на одномерный массив указателей на одномерные массивы известной размерности и заданного типа
32,32,33,34, 21,22,23,24, Функцию можно вызывать для любой размерности не превышающей 10. А так как матрица квадратная, то и количество строк тоже 10. Пример 10.11. Функция ввода элементов матрицы. Пример 10.12. Функция вывода элементов матрицы
Пример 10.13 Функция генерации элементов матрицы int sum_vt(int ma[100][100],int n) Вариант III. Передача двумерного массива через указатель, которому соответствует адрес первого элемента двумерного массива. Пример 10.14. Функция вывода матрицы. Если при вызове функции использовать как параметр адрес первого элемента, то в этом случае массив должен быть описан точно такой же размерности, как при вызове.
Вариант I V.Массив указателей на массивы строк.
{int r; for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) { r=p[i][j]; p[i][j]=p[j][i]; p[j][i]=r; } } int main() {int Matr[4][4]={11,12,13,14, 41,42,43,44}; //вспомогательный массив указателей int *ptr[]={(int *)&Matr[0], (int *)&Matr[1], (int *)&Matr[2], (int *)&Matr[3]}; int k=4; transpon(ptr,k); cout << ”result\n”; for (int i=0; i<k; i++) {for (int j=0; j<k; j++) cout << Matr[i][j] << " "; cout << endl; } return 0; }
Вариант V. Использование динамического двумерного массива. Пример 10.16. Транспонирование динамической матрицы. int main () {for (int j=0;j<k;j++) cout<<*(*(matr+i)+j)<<" "; cout << endl; } transpon(matr,k); cout << "_____________"<<endl; for (i=0;i<k;i++)
Пример 10.17. Функция вывода динамической матрицы.
Пример 10.18. Перепишем функцию подсчета суммы элементов верхнего левого треугольника матрицы. Передача двумерного массива, сформированного в функции в вызывающую программу Пример 10.19. Динамическая единичная матрица, формируемая в функции. {cout <<"Error"; return;} {matr[i]= new int [n]; for (i=0;i<n;i++) int main ()
int** MatrInt(int **ma, int *n, int *m) Пример дополнительный. Построить магический квадрат нечетного порядка.
#include <stdio.h> void main () //Определяем координаты первой заполняемой клетки while (k<=n*n) if ((i==-1)&&(j==-1))//вышли в левый верх угол mk[i][j]=k; }
Дата добавления: 2014-01-07; Просмотров: 417; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |