Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Программа к задаче 13 и 14




n=6: DIM a(n, n)

'ввод данных

FOR i=1 TO n: FOR j=1 TO n: a(i, j)=10*i+j: NEXT j: NEXT i

FOR i = 1 TO n 'прямое транспонирования

FOR j = 1 TO i: SWAP a(i, j), a(j, i): NEXT

NEXT

'вывод матрицы

FOR i=1 TO n: FOR j=1 TO n: PRINT a(i, j);:NEXT:PRINT: NEXT

FOR i=1 TO n 'обратное транспонирование

FOR j=1 TO n-i: SWAP a(i, j),a(n+1-j, n+1-i): NEXT

NEXT

FOR i=1 TO n: FOR j=1 TO n: PRINT a(i, j);:NEXT:PRINT: NEXT 'вывод

 

I\J                                  
                                   
                                   
                                   
                                   
                                   
  Исходная матриц   Транспонирование относительно главной диагонали   Транспонирование относительно неглавной диагонали

Рис. 2.5.2

Задача 14. Транспонирование матрицы относительно неглавной диагонали (). Здесь зависимость между индексами не столь прозрачна. Для того, что бы найти ее, следует начертить новый вид (рис.2.5.2 справа) матрицы, а также, возможно, таблицы исходных (Iи,Jи) и новых (Iн,Jн) индексов (рис. 2.5.3). Если выписать исходные и новые индексы (рис. 2.5.4), можно обратить внимание, что сумма Jи и Iн постоянна и равна N+1. Аналогично Iи+Jн=N+1. Отсюда можно выписать необходимые зависимости исходных и новых индексов A(I,J) « A(N+1–J,N+1–I).

IиJи IнJн   IиJи IнJн   IиJи IнJн   IиJи IнJн    
                                 
                                 
                                 
                                 

Рис. 2.5.3 Рис. 2.5.4

В программу, изображенную выше, включен фрагмент, относящийся к обратному транспонированию. Как видим, программирование обработки масси­вов может быть достаточно сложным, требующем вспомогательных выкладок и сообразительности. В любом случае сначала следует отобразить наполнение матрицы до и после преобразований и только затем искать функции, связыва­ющие индексы их элементов.

@ Задачи для самостоятельного решения.

1. Переместить элементы массива Х в массив Y таким образом, чтобы в нем сначала оказалась первая половина исходного массива X, а затем вторая половина.

            X
           
            Y

 

2. Переписать все элементы массива Х для 3<X(i)<10 в начало массива Y, подсчитать их количество и среднее арифметическое. В примере количество чисел, удовлетворяющих условию – 3. Среднее арифметическое – 18/3=6

  4   8 6   Х
           
            Y

3. Найти в массиве Х все стоящие смежно элементы с одинаковыми значениями и напечатать их номера. В примере номера равных смежных элементов: 2,3 и 5,6

  5 5   4 4

4. В квадратной матрице Х(N,N) реальной размерности N найти максимальный элемент. Вывести его значение и индексы (X(Imax,Jmax) и Imax, Jmax). Поменять местами элементы строки Imax и столбца Jmax, на пересечении которых он находится.

 
 

 

 


Вариант 4 Вариант 5 Вариант 6

5. В матрице Х(N,M) вычислить число положительных элементов в каждой строке и занести их в вектор A(N) и сумму отрицательных элементов в каждом столбце и занести их в вектор B(M). Результаты вывести следующим образом. Справа рядом с исходной матрицей выдать вектор А. Под матрицей вывести вектор В.

6. Поменять местами любые два столбца матрицы Х с номерами К и L.

7. Имеется двухмерный массив А длиной N строк (A(N,2)), в котором содержится информация о товаре в магазине. В каждой строке два элемента. Первый является ценой товара, второй – числом единиц этого товара. Составить программу вычисления стоимости всего товара S в магазине и средней цены единицы товара SR. Сделать проверочные выкладки для N=3. В качестве цены товара (в тыс. рублей) следует последовательно использовать цифры натурального ряда. Число единиц каждого товара взять произвольным.





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 394 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Чтобы получился студенческий борщ, его нужно варить также как и домашний, только без мяса и развести водой 1:10 © Неизвестно
==> читать все изречения...

2409 - | 2300 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.