КАТЕГОРИИ: Архитектура-(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) |
Многомерные массивы
Если одномерный массив представляет собой список значений, то многомерный массив используется для представления данных в виде таблиц. Наиболее общий случай применения таблиц – двумерные таблицы. Чтобы определить отдельный двоичный элемент, нужно указать два индекса: первый указывает номер строки, а второй указывает номер столбца. Многомерный массив может иметь более двух индексов. Компиляторы С++ поддерживают 12-мерные массивы. В С++ объявление двумерного массива осуществляется следующим образом: int name[3][4]; // Резервирование памяти для двумерной таблицы. int cube [10][20][30] // Резервирование памяти для трёхмерного массива. Рисунок иллюстрирует двумерный массив name[3][4]. Каждый элемент в массиве name определяется именем элемента name[i][j], где i и j – индексы, однозначно определяющие каждый элемент массива name.
Рис. Двумерный массив с тремя строками и четырьмя столбцами. Элементы многомерных массивов запоминаются в памяти ЭВМ строками. Инициализация многомерных массивов осуществляется при помощи фигурных скобок. int table1 [5]={8,5,3,25,41}; // Инициализация одномерного массива. int table2[2][4]= { {4,3,5,6}, {1,2,3,4} // Инициализация двумерного массива }; Если начальных значений не хватает для присвоения всем элементам строки, то остальным элементам присваиваются нулевые начальные значения. Так объявление int b[2][2]={{1},{3,4}}; будет означать, что b[0][0] получает начальное значение 1, b[0][1] получает начальное значение 0, b[1][0] получает начальное значение 3 и b[1][1] получает начальное значение 4. Пример: Дана целая квадратная матрица. Построить по ней вектор, состоящий из нулей и единиц, в которой элемент равен 1, тогда и только тогда, когда в i –ой строке матрицы есть хотя бы один отрицательный элемент. #include<iostream.h> #define M 3 void main() { int mas[M][M], vec[M]; int i,j,yes; cout<<"vvod "; for(i=0;i<M;i++) for(j=0;j<M;j++) cin>>mas[i][j]; for(i=0;i<M;i++) { yes=0; for(j=0;j<M || yes!=1;j++) //обработка if (mas[i][j]<0) { vec[i]=1; yes=1; } else { vec[i]=0; } } cout<<"вывод вектора"; for(i=0;i<M;i++) cout<<vec[i]<<" "; return 0; }
Задания на тему «Матрицы» Вариант1 1.Дан целочисленный вектор В(5). Найти значение величины z=max|Bi |. и длину вектора. 2. Для матрицы, приведённой на рисунке вычислить сумму элементов из заштрихованной области. 0 9
0 9 Вариант 2 1. Дан целочисленный вектор D(7). Напечатать все его элементы, которые не имеют в нём себе равных. 2. Для матрицы, приведённой на рисунке вычислить сумму элементов из заштрихованной области.
Вариант 3 1. Дан вещественный вектор А(10), элементы которого расположены в порядке возрастания, и число В. Построить вектор С(11), элементами которого являются элементы вектора А и число В, упорядоченный по невозрастанию. 2. Для матрицы, приведённой на рисунке вычислить сумму элементов из заштрихованной области.
Вариант 4 1. Даны два целочисленных вектора А(6) и В(6). Распечатать все элементы, которые входят в оба вектора. 2. Для матрицы, приведённой на рисунке вычислить сумму элементов из заштрихованной области.
Вариант 5 1.Дан целочисленный вектор С(6). Найти сумму тех его элементов, которые удовлетворяют условию |Сi|<i2 . 2. Дана матрица целых чисел. На её основе сформировать вектор, присвоив его к –ому элементу значение 1, если все элементы к-ого столбца нулевые и 0 иначе. Вариант 6 1. Даны два вектора х(7) и у(7) координат точек на плоскости. Найти среди них точку, наиболее близко расположенную к началу координат. 2.Дана матрица целых чисел. На её основе сформировать вектор, присвоив его к –ому элементу значение 1, если все элементы к-ой строки матрицы упорядочены по убыванию и 0 иначе. Вариант 7 1.Дан целочисленный вектор С(5). Найти в нём количество элементов, удовлетворяющих условию 0<C i<i. 2.Дана матрица целых чисел. На её основе сформировать вектор, присвоив его к –ому элементу значение 1, если к-ая строка матрицы симметрична и 0 иначе. Вариант 8 1..Числовой массив А(10) упорядочен по возрастанию. Известно, что число х принадлежит отрезку числовой оси, вмещающему заданный массив. Определить номер к, для которого а к-1 <x< а к. 2.Дана матрица целых чисел. Определить количество элементов матрицы, больших суммы остальных элементов его столбца. Вариант 9 1. Дан вектор С(7). Cформировать новый вектор, элементы которого будут вычислены по следующим соотношениям (c1,c1*c2,…c1*c2*c3*c4*c5*c6*c7) 2. Дана матрица,. умножнть к-ю строку исходной матрицы на сумму элементов главной диагонали; Вариант 10 1.Дан вектор, напечатать те элементы вектора, индексы которых являются степенями числа 2 (1,2,4,8,16). 2. Дана матрица,. поменять местами два заданных столбца матрицы; Вариант 11 1.Дан вектор Х, сдвинуть циклически его элементы на одну позицию влево: xn=x1, xk=xk+1 при к=1,2,,,n-1. 2.Cосчитать сумму элементов каждой строки матрицы; Вариант 12 1.Даны два вектора x[k], y[m]. Элементы каждого из них упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив z так, чтобы они снова оказались упорядоченными по неубыванию. 2. Сосчитать сумму элементов каждого столбца матрицы;
Дата добавления: 2014-01-20; Просмотров: 519; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |