Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР11-С++-01-мая-2012.doc
Скачиваний:
18
Добавлен:
15.09.2019
Размер:
2.5 Mб
Скачать

2.4.3.2. Пример для варианта 30

Дана целочисленная квадратная матрица. Определить:

– сумму элементов в тех строках, которые не содержат положительных элементов;

– номер столбца, в котором находится самая длинная серия одинаковых элементов.

2.4.3.3. Программа

//Лабораторная работа № 11

/* Вычисление суммы элементов,

и нахождение номера столбца */

//Задание 3

//Вариант 30

//Выполнила Лебедева К.К.

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

int main()

{

int i, j, m,k,n,K,S,max, dlin;

int B[10][10], ser[10];

//Описание переменных

cout <<" Введите число строк и столбцов m ";cin >> m;

for(i=0; i<m; i++)

for(j=0; j<m; j++)

{

cout <<"Введите B[" << i << "," << j <<"]= ";

cin >> B[i][j];

}

//Контрольный вывод исходных данных

cout <<"Число строк m = " << m << endl;

cout <<"Число столбцов m = "<< m << endl;

cout << "Матрица B:" << endl;

for(i=0;i<m;i++)

{ for(j=0;j<m;j++) cout <<B[i][j] << " ";

cout <<"\n";

}

//Вычисление суммы элементов в тех строках,

//которые не содержат положительных элементов

for (i=0; i<m; i++)

{

S=0;K=0;

for (j=0; j<m;j++)

{if (B[i][j]<0){K = K +1;S = S + B[i][j];}

else {cout << "Строка " << i << " содержит положительные элементы" << endl;

break;

}

}

if (K==m) cout << "Строка " << i << " Сумма элементов = " << S<< endl;

}

//Определение номера столбца, в котором находится самая длинная серия одинаковых элементов

for (k=0; k<m;k++)

{dlin=1;

for (i=0; i<m-1;i++)

{n=1;

for (j=i+1; j<m;j++)

if (B[i][k]== B[j][k]) n = n +1;

if (n>dlin) dlin = n;

}

ser[k] = dlin;

}

max = ser[0];k=0;

for (i=1; i<m;i++)

if (max < ser[i]) {max=ser[i]; k=i;}

cout << "\nДлинная серия равна " << max <<endl;

cout << "\nи находится в "<< k<< " столбце"<< endl;

cout << "\nНажмите любую клавишу..." ;

getch();

return 0;

}//конец main

2.4.3.4. Тестирование

2.4.4. Задание 4. Перестановки строк или столбцов матрицы

2.4.4.1. Условие задания

Разработать алгоритм и программу перестановки строк или столбцов матрицы.

В каждой задаче задана прямоугольная матрица размeром МхN. Требуется составить и отладить программу, которая вводит и печатает все исходные данные, осуществляет перестановку строк или столбцов матрицы в соответствии с условием задачи и печатает полученную матрицу. Для отладки программы самостоятельно подберите необходимые наборы исходных данных.

Задачу выбрать из таблицы 3 в соответствии со своим вариантом.

Таблица 11.4

Варианты заданий

Задание

1

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность D1≥D2≥ … ≥ Di ≥ …≥ DN, где Di – максимальное значение элементов i-ой строки (i=1,2,…,N).

2

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность С1<С2<^ < Cj <.. .< См, где Cj- минимальное значение элементов j-ого столбца (j=1,2,.. .,M).

3

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность F1>F2> ... > Fi > .. .> FN, где Fi - сумма элементов i-ой строки (i=1,2,.. .,N).

4

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность P1<P2<^ < Pj <.. .< PM, где Pj- произведение элементов j-ого столбца (j=1,2,.. .,M).

5

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность K1>K2>_ >Kj >.. .> KM, где Kj- количество положительных элементов j-ого столбца G=1,2,-.,M).

6

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность L1<L2< ... < Li <.. .< LN, где Li - количество отрицательных элементов i-ой строки (i=1,2,.. .,N).

7

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность R1>R2>^ >Rj >.. .> RM, где Rj- количество нулевых элементов j-ого столбца (j=1,2,.. .,M).

8

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность S1<S2< ... < Si <.. .< SN, где Si - сумма абсолютных значений элементов i-ой строки (i=1,2,_,N).

9

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность T1<T2<_ < Tj <.. .< TM, где Tj- максимальное значение элементов j-ого столбца (j=1,2,.. .,M).

10

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность Z1>Z2> ... > Zi > .. .> ZN, где Zi - максимальное значение элементов i-ой строки (i=1,2, ,N).

11

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность T^T^... < Tj <.. .< TM, где Tj- сумма элементов j-ого столбца (j=1,2,_,M).

12

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность X1>X2> ... > Xi > .. .> XN, где Xi - произведение элементов i-ой строки (i=1,2,.. .,N).

13

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность H^H^... < Hj <.. .< HM, где Hj- количество положительных элементов j-ого столбца (j=1,2,...,M).

14

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность A^A^... >Aj >_> AM, где Aj- количество отрицательных элементов j-ого столбца (j=1,2,..,M).

15

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность B1<B2< ... < Bi <_< BN, где Bi - количество нулевых значений элементов i-ой строки (i=1,2,_,N).

16

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность С1<С2<_ < Cj <_< CM, где Cj- сумма абсолютных значений элементов j-ого столбца (j=1,2,_,M).

17

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность Y1<Y2< _ < Yi <_< YN, где Yi - максимальное элементов i-ой строки (i=1,2,_,N).

18

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность E1>E2>_ >Ej >_> EM, где Ej- минимальное значение элементов j-ого столбца (j=1,2,_,M).

19

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность F1<F2< _ < Fi <_< FN, где Fi - сумма элементов i-ой строки (i=1,2,_,N).

20

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность G1>G2>^ >Gj >.. .> GM, где Gj- произведение элементов j-ого столбца (j=1,2,.. .,M).

21

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность V1>V2> ... > Vi > .. .> VN, где Vi - количество положительных элементов i-ой строки (i=1,2,...,N).

22

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность Q<C2<... < Cj <.. .< CM, где Cj- количество отрицательных значений элементов j-ого столбца (j=1,2,...,M).

23

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность K1>K2> ... > Ki > .. .> KN, где Ki - количество нулевых элементов i-ой строки (i=1,2, ,N).

24

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность P^P^... < Pj <.. .< PM, где Pj- сумма элементов j-ого столбца (j=1,2,.. .,M).

25

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность X^X^... >Xj >.. .> XM, где Xj- максимальное значение элементов j-ого столбца (j=1,2,_,M).

26

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность Y1<Y2< ... < Yi <.. .< YN, где Yi - минимальное значение элементов i-ой строки (i=1,2, ,N).

27

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность ЩХЦ^... >Uj >.. .> UM, где Uj- среднее значение не нулевых элементов j-ого столбца (j=1,2,_,M).

28

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность V1<V2< _ < Vi <_< VN, где Vi - произведение не нулевых элементов i-ой строки (i=1,2,_,N).

29

В матрице размером M*N переставить столбцы таким образом, чтобы получилась последовательность W1<W2<_ < Wj <_< WM, где Wj- количество положительных значений элементов j-ого столбца (j=1,2,_,M).

30

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность Z1≥Z2≥ … ≥ Zi ≥ …≥ ZN, где Zi – количество отрицательных элементов i-ой строки (i=1,2,…,N).

2.4.4.2. Пример для варианта 30

В матрице размером M*N переставить строки таким образом, чтобы получилась последовательность Z1≥Z2≥ … ≥ Zi ≥ …≥ ZN, где Zi – количество отрицательных элементов i-ой строки (i=1,2,…,N).

2.4.4.3. Программа

2.4.4.4. Тестирование

2.5. Домашние задания

2.4.5. Задание 5. Вычисление элементов матрицы

2.4.5.1. Условие задания

Составить программу для вычисления элементов матрицы Y по известным элементам вектора X.

Таблица 11.5

Варианты заданий

Вектор X

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30