русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задание 2.2


Дата добавления: 2014-11-27; просмотров: 1544; Нарушение авторских прав


Написать программу для решения задачи. Если в задаче требуется обрабатывать строки или столбцы массива, то соответствующий двумерный массив определить как одномерный массив массивов и в подпрограмму передавать текущую строку или столбец как параметр.

 

1. Вариант

Пусть дана вещественная квадратная матрица порядка n. Постройте последовательность вещественных чисел по правилу: если в i-ой строке матрицы элемент, принадлежащий главной диагонали, отрицателен, то элемент равен сумме положительных элементов i-ой строки, в противном случае равен произведению отрицательных элементов i-ой строки.

2. Вариант

Заполнить двумерный массив mхn случайными целыми числами из интервала [-100,100]. Определить в массиве простые числа (использовать подпрограмму простое число).

3. Вариант

Дана матрица А размером . Определить k — количество особых элементов массива А, считая его элемент особым, если он больше суммы остальных элементов его столбца.

4. Вариант

Дана целочисленная матрица А размером . Найти номер первой по порядку строки, содержащей наибольшее число цифр.

5. Вариант

Заполнить двумерный массив nхm случайными целыми числами из интервала [-100,100]. Определить в массиве числа и их индексы (номера строк и столбцов), имеющие в разряде десятков цифру 5.

6. Вариант

Элемент матрицы назовём седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своём столбце или, наоборот, наибольшим в своей строке и одновременно наименьшим в своём столбце. Для заданной целой матрицы размером 8´10 напечатать индексы всех седловых точек.

7. Вариант

Заполнить двумерный массив mхn случайными целыми числами из интервала [-100,100]. Найти в массиве совершенные числа (использовать подпрограмму совершенное число).

8. Вариант

Определить, является ли заданная целая квадратная матрица 9-го порядка магическим квадратом (суммы элементов во всех строках и столбцах одинаковы).



9. Вариант

Дана матрица А размером . Найти номера строк, элементы каждой из которых образуют монотонную последовательность.

10. Вариант

Просуммировать элементы квадратной матрицы размером 9´9, расположенные в нижней четверти, ограниченной диагоналями, включая диагонали.

11. Вариант

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

12. Вариант

Просуммировать элементы квадратной матрицы размером 8´8, расположенные в правой четверти, ограниченной диагоналями, включая диагонали.

13. Вариант

Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.

14. Вариант

Дана целочисленная квадратная матрица. Определить произведение элементов в тех строках, которые не содержат отрицательных элементов, и максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

15. Вариант

Дана целочисленная матрица А размером . Определить для каждой строки, все ли ее элементы являются кубами целых чисел.

16. Вариант

Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10. Найти сумму модулей элементов, расположенных выше главной диагонали.

17. Вариант

Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.

18. Вариант

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

19. Вариант

Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые не содержат отрицательных элементов, и минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы.

20. Вариант

Задана квадратная матрица. Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером т.

21. Вариант

Матрицу n´n повернуть (без использования вспомогательных массивов) на 90° вправо.

22. Вариант

Дана целочисленная матрица размером n´n. Преобразовать массив, осуществив поворот вокруг центра на против часовой стрелки.

23. Вариант

Дана матрица А размером . Найти номера столбцов, элементы каждого из которых образуют симметричную последовательность.

24. Вариант

Дана вещественная матрица n´n. В строках с отрицательным элементом на главной диагонали найти наибольший из элементов.

25. Вариант

Дана квадратная таблица размером N´N. Составьте программу формирования последовательности В, элементами которой являются элементы таблицы А, расположенные под главной диагональю. В полученной последовательности найдите три наименьших элемента. Если количество элементов между первым и вторым элементом совпадает с количеством элементов между вторым и третьим, то поменяйте их местами, сохранив порядок следования (без использования дополнительного массива), преобразованный линейный массив выведите на экран в строку.

 

Вариант0

Пассажирский самолет может поднять груз общим весом 30 т. Составить программу для определения веса почтового груза, который можно поместить в самолете после посадки пассажиров и загрузки их багажа. Во время регистрации пассажиров ЭВМ должна подсчитывать количество пассажиров (условный вес одного пассажира 50 кг). Предусмотреть возможность ввода номера пассажира и веса его багажа в таблицу и вывода таблицы на экран. Упорядочить номера пассажиров в зависимости от веса багажа пассажиров.

{Лабораторная работа №4 задача 1}

 

Unit Sort_Mas;

 

Interface

{сортируется массив x, а элементы y переставляются соответственно}

procedure sort(var x,y : array of integer ; count : integer);

 

Implementation

 

procedure sort;

var

i,k,c : integer;

f : boolean;

 

begin

k := 0;

repeat

f := true;

for i := 0 to count-k-2 do

begin

if x[i] > x[i+1] then

begin

c := x[i]; x[i] := x[i+1]; x[i+1] := c;

c := y[i]; y[i] := y[i+1]; y[i+1] := c;

f := false

end;

end;

inc(k);

until f;

end;

end.

 

Program Lab_Rab_4_1;

Uses Crt, Sort_Mas ;

Const N_max = 30000; {максимальная грузоподъемность самолета}

N = 300; {максимальное количество пассажиров}

Ves = 50; {условный вес пассажира}

Type

mas1 = array [1..N] of integer;

mas = array [1..2] of mas1;

 

{регистрация пассажиров}

procedure Create( var x : mas ; var l :integer);

var

i, S : integer;

ch : char;

begin

Writeln('Регистрация пассажиров');

i := 0; S := 0;

repeat

inc(i);

write('Введите регистрационный номер ',i, '-го пассажира ');

ReadLn(x[1,i]);

write('Введите вес багажа ',i, '-го пассажира ');

ReadLn(x[2,i]);

S := S + x[2,i] + ves;

Write('Продолжить? (Y/N) ');

ReadLn(ch);

If (i > N) or (S > N_max) then

begin

writeln('Самолет перегружен!');

break

end;

until (ch='N') or (ch='n');

l := i;

Writeln ('Регистрация завершена');

ReadKey;

end;

 

{просмотр пассажиров}

procedure View( x : mas ; l :integer);

var

i, S : integer;

begin

 

Writeln(' Информация о пассажирах');

Writeln('| № п/п| Регистрационный № | Вес багажа |');

Writeln('_________________________________________');

S := 0;

For i := 1 to l do

begin

WriteLn('|', i:4 , ' | ', x[1,i]:6,' | ', x[2,i]:6,' | ');

S := S + x[2,i] + ves;

Writeln('_________________________________________');

end;

 

Writeln ('Всего ', l, ' пассажиров');

Writeln ('Общий вес ', S);

ReadKey;

end;

 

{oтсортированный просмотр пассажиров}

procedure View_sort( x : mas ; l :integer);

var

y : mas;

t,t1 : mas1;

 

begin

t := x[2];

t1 := x[1];

sort(t,t1,l);

y[1] := t1;

y[2] := t;

Writeln('Упорядоченный вывод ');

View(y,l);

end;

 

{почтовый груз}

procedure Gruz( x : mas ; l :integer);

var

i, S : integer;

begin

 

S := 0;

For i := 1 to l do

begin

S := S + x[2,i] ;

end;

 

Writeln ('Всего ', l, ' пассажиров');

Writeln ('Общий вес багажа ', S);

Writeln ('Общий вес пассажиров ', ves * l);

Writeln ('Вес почтового груза ', N_max - S - ves *l);

ReadKey;

end;

 

var

Ch : integer ; {пункт меню}

A : mas;

Count : integer;

 

Begin

Count := 0;

Repeat

ClrScr;

Writeln('1 - Регистрация пассажиров ');

Writeln('2 - Просмотр пассажиров ');

Writeln('3 - Отсортированный вывод ');

Writeln('4 - Почтовый груз ');

Writeln('5 - Выход ');

Writeln;

Write('Введите № пункта меню - ');

ReadLn(Ch);

ClrScr;

Case ch of

1 : Create (A,Count);

2 : View(A,Count);

until Ch=5;

End.

 

 

{Лабораторная работа №4 задача 2.1)}

В одномерном целочисленном массиве заменить нечетные элементы, стоящие на четных местах их квадратами.

 

{Лабораторная работа №4 задача 2}

Program Lab_Rab_4_2;

Uses Crt ;

Const

N = 10; {количество элементов массива}

Type

mas = array [1..N] of integer;

 

procedure View ( x : mas );

var

i : integer;

begin

For i := 1 to N do Write(x[i]:5);

writeln;

end;

 

procedure Create_Random ( var x : mas );

var

i : integer;

begin

For i := 1 to N do x[i] := Random(100)-50;

end;

 

procedure Create ( var x : mas );

var

i : integer;

begin

ClrScr;

For i := 1 to N do

begin

Write('Введите ', i, ' элемент массива ');

Readln(x[i]);

end;

end;

 

var

A : mas;

Ch,i : integer;

Begin

ClrScr;

Randomize;

Writeln('1 - Ввод массива ');

Writeln('2 - Инициализация массива случайными числами ');

Writeln;

 

repeat

Write('Введите № пункта меню - ');

ReadLn(Ch);

Case ch of

1 : Create (A);

2 : Create_Random(A);

else writeln('повторите ввод');

end;

until (Ch=1) or (Ch=2);

ClrScr;

Writeln('Исходный массив');

View(A);

i := 2;

while i <= N do

begin

If odd(A[i]) then A[i] := sqr(A[i]);

i := i + 2;

end;

Writeln('Измененный массив');

View(A);

ReadKey;

End.

 

 

{Лабораторная работа №4 задача 2.2}

Дана натуральная матрица размером n´n, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

 

{Лабораторная работа №4 задача 2.2}

Program Lab_Rab_4_2_2;

Uses Crt ;

Const

N = 5; {количество элементов массива}

Type

mas = array [1..N,1..N] of byte;

 

procedure View ( x : mas );

var

i,j : integer;

begin

For i := 1 to N do

begin

For j:= 1 to N do Write(x[i,j]:5);

writeln;

end;

end;

 

{создание массива случайных чисел с проверкой, того что все элементы разные}

procedure Create_Random ( var x : mas );

var

i,j : integer;

chisla : set of byte; {множество выпавших чисел (тему множества см. ниже)}

begin

Randomize;

chisla := [];

For i := 1 to N do

For j:= 1 to N do

begin

repeat

x[i,j] := Random(n*n+10);

until not (x[i,j] in chisla);

chisla := chisla + [x[i,j]];

end;

end;

 

procedure Create ( var x : mas );

var

i,j : integer;

begin

ClrScr;

For i := 1 to N do

For j := 1 to N do

begin

Write('Введите A[',i,';',j, ']= ');

Readln(x[i,j]);

end;

end;

 

function Max_i( x : mas) : integer;

var

i,j,p,l : integer;

begin

p := 1; l := 1;

For i := 1 to N do

For j := 1 to N do

if x[p,l] < x[i,j] then

begin

p := i;

l := j;

end;

Max_i := p;

end;

 

function Min_j( x : mas) : integer;

var

i,j,p,l : integer;

begin

p := 1; l := 1;

For i := 1 to N do

For j := 1 to N do

if x[p,l] > x[i,j] then

begin

p := i;

l := j;

end;

Min_j := l;

end;

 

var

A : mas;

Ch,m,k,i,S : integer;

Begin

ClrScr;

Randomize;

Writeln('1 - Ввод массива ');

Writeln('2 - Инициализация массива случайными числами ');

Writeln;

repeat

Write('Введите № пункта меню - ');

ReadLn(Ch);

Case ch of

1 : Create (A);

2 : Create_Random(A);

else writeln('повторите ввод');

end;

until (Ch=1) or (Ch=2);

ClrScr;

Writeln('Исходный массив');

View(A);

m := Max_i(A);

k := Min_j(A);

Writeln;

Writeln('Максимальный элемент в строке №=',m);

Writeln('Минимальный элемент в столбце №=',k);

S:=0;

For i := 1 to N do S := S + A[m,i] * A[i,k];

Writeln('Скалярное произведение =',S);

ReadKey;

End.

 



<== предыдущая лекция | следующая лекция ==>
Задание 2.1 | Тема 5. Строки. Записи. Множества. Работа с файлами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.166 сек.