Задачки на 3 темы!, Массивы, матрицы, программа!!! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задачки на 3 темы!, Массивы, матрицы, программа!!! |
D.Nuke |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
1 задача:
С клавиатуры одной строкой вводится 20 чисел в диапозоне 1<=x<=20. Вывести его на экран принтера. Вычислить сумму тех элементов массива "х", индексы которых совпадают со значением элемента массива. Подстчитать чх количество, сумму и среднее арифметическое. Вывести на принтер и на экран красным цветом. 2 задача: Любые целые числа вводятся с клавиатурыю 1. Получите матрицу 4х4. 2. Подсчитайте количество всех отрицательных элементов матрицы, замените диагональные элементы на это число. 3. Транспортируйте матрицу. 4. Образуйте из отрицательных элементов одномерный массив, отсортируйте его по не возрастаниюметодом "пузырька". Элементы матрицы п.п. 1-3 выводить на экран с заданием формат, п.4 - в столбец. 3 задача: Написать программу: подтвердить или опровергнуть утверждение. Дана последовательность натуральных чисел 1,2,3,4,,,х,, Утверждение: произведение 4-х последовательных чисел всегда делится на 12. Результат решения и заключение выводить на экран. Количество членов последовательности для доказательства задаётся генератором случайных чисел в диапазоне 8<=x<15. |
Bokul |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Вот обещанное решение 2-ой задачи.
Все подпункты задания, кроме формативного вывода( ты мне ответа не дал), реализованные в процедурах и функциях. Все проверить не успел, так как надо бежать... Будут вопросы спрашивай, я часа через 2 верннусь... Код program help; uses crt; type main=array[1..4,1..4] of integer; neg=array[1..17] of integer; procedure take_mas(var mas:main); var i,j:byte; begin writeln('Enter array '); for i:=1 to 4 do begin for j:=1 to 4 do read(mas[i,j]); writeln; end; end; function number(mas:main):byte; var i,j,n:byte; begin n:=0; for i:=1 to 4 do for j:=1 to 4 do if mas[i,j]<0 then inc(n); number:=n; end; procedure diagonal(n:byte; var mas:main); var i,j:byte; begin for i:=1 to 4 do for j:=1 to 4 do if i=j then mas[i,j]:=n; end; procedure transport(var a:main); var i,j:byte; p:main; begin for i:=1 to 4 do for j:=1 to 4 do p[j,i]:=a[i,j]; for i:=1 to 4 do for j:=1 to 4 do a[i,j]:=p[i,j]; end; procedure mas_negativ(mas:main; var mas2:neg); var i,j,n:byte; begin n:=0; for i:=1 to 4 do for j:=1 to 4 do if mas[i,j]<0 then begin mas2[(i-1)*4+j]:=mas[i,j]; inc(n); end; mas2[17]:=n; end; procedure sort(var mas:neg); var i,j,t:integer; begin for i:=1 to 4 do for j:=4 downto i+1 do if mas[pred(j)] > mas[j] then begin t:=mas[pred(j)]; mas[pred(j)]:=mas[j]; mas[j]:=t; end; end; Сообщение отредактировано: Bokul - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Текстовая версия | 28.04.2024 0:57 |