Помогите решить две задачки (Паскаль)
10-11 класс
|
Задание 1
В одномерном массиве случайных вещественных числе F(17) определить количество положительных элементов и их сумму.
Задание 2
В матрице L(5,5) случайных вещественных чисел определить максимальный элемент выше побочной диагонали, поменять его местами с элементом 2 строки 2 столбца.
Большая просьба расписать задачу подробно , хочу не просто списать решения , а понять его и научиться решать сам , огромное спасибо.
1)uses crt;
const n=17;//число элементов в массиве
var f:array[1..n] of integer;
i,s,k:integer;
begin
randomize;
s:=0;
k:=0;//чтобы не возникало ошибок, на всякий случай все обнулим
for i:=1 to n do
begin
f[i]:=random(100)-50;//к примеру, взяла интервал от -50 до 50
//всего получилось 100 чисел, минимальное -50
writeln(f[i]);
if f[i]>0 then
begin
s:=s+f[i];
inc(k)//собираем сумму положительных элементов массива
//и находим их количество, прибавляя к переменной к единицу
end;
end;
writeln;//протсо сделаем пробел между массивом и результатами, чтобы не получилась каша
writeln(s);
writeln(k);
end.
2)uses crt;
const n=5;
var l:array[1..n,1..n] of integer;
i,j,max,k,t,m,i1,j1:integer;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
l[i,j]:=random(100)-50;
for i:=1 to n do
begin
for j:=1 to n do
write(l[i,j]:4);//это означает, что на запись элемента массива отводится 4 места
writeln;
end;//таким способом я вывела на экран двумерный массив в форме матрицы
writeln;
max:=-50;//чтобы найти максимальный элемент, нужно сначала приравнять его к минимально возможному значению
//так как побочная диагональ располагается для строк: от 1 до 4,а для столбцов - от 1 до 4 (сама побочная диагональ нас не интересует), то заведем еще переменные t и m
t:=1;
m:=4;
//теперь найдем минимальный элемент выше побочной диагонали
repeat
for i:=t to t do
for j:=1 to m do
if l[i,j]>max then
begin
max:=l[i,j];
i1:=i;
j1:=j;//мы нашли максимальный элемент и запомнили его положение
end;
inc(t);
m:=m-1;
until t=5;
l[2,2]:=l[2,2]+l[i1,j1];
l[i1,j1]:=l[2,2]-l[i1,j1];
l[2,2]:=l[2,2]-l[i1,j1];// поменяли их местами
for i:=1 to n do
begin
for j:=1 to n do
write(l[i,j]:4);
writeln;
end;//опять выводим матрицу на экран
writeln;
end.
Другие вопросы из категории
-2бита
-1бит
-1байт
-4байта
-3 бита
Я прошу помочь с выполнением задачи.
Напишите пожалуйста код в C++, который делает следующее:
Найти номер элемента массива,модуль разности сумм чисел слева и справа от которого наименьший.Значение элемента с этим номером при суммировании не учитывается.Номера элементов начинаются с 0.
Допустим элементы последовательности такие : 1,2,3,4,5,6,2.
Ответ:номер элемента 4.,т.е. это число 5 последовательности.
Помогите пожалуйста написать код.
Необходимо написать код программы в формате .txt , чтобы на экране выводилось следующее:
1. Выводится текст "Вам предлагается тест на тему "Поведение в кабинете информатики""
2. Выводится вопрос и несколько вариантов ответа.
3. Выводится "Выберите № ответа".
4. Вопросов всего 3.
5. Выводится "Тест окончен".
6. Выводится "Оценка: Зачет" или "Оценка: Незачет"
Вот сами вопросы:
1. На каком расстоянии от монитора должен
работать ученик за компьютером?
a) 15-20 см
b) 50-70 см
c) Меньше 40 см
d) 90-110 см
2. Можно ли класть тетради, книги, диски на
монитор и клавиатуру?
a) Можно.
b) Можно только на клавиатуру.
c) Можно только на монитор.
d) Нельзя.
3. При появлении запаха гари нужно…
a) Бежать за водой, чтобы предотвратить
дальнейшее возгорание.
b) Прекратить работу, сообщить
преподавателю
c) Не обращать внимания
d) Быстро убежать из кабинета
Читайте также
Помогите решить две задачки (Паскаль)
Задание 1
Создать одномерный массив А, состоящий из сумм столбцов матрицы В(8,5). Определить в созданном массиве минимальный элемент и его местоположение, а также произведение всех элементов.
Задание 2
В двумерном массиве G(7,5) поменять минимальный элемент 2 строки и максимальный элемент 5 столбца. В полученной матрице вычислить значение произведения элементов главной диагонали. Заменить значение третьего элемента в первой строке на значение произведения.
Дан массив А1,.......Аn. найти максимальный и минимальный элементы и поменять их местами. Вот задача которую я делал:
program zadacha;
const
k=50;
var
a:array[1..k] of integer;
n,i:1..k;
c,v,max,min,prom:integer;
begin
for i:=1 to n do begin (здесь выскакивает ошибка о проверки диапазона)
a[i]:=random(50);
write(a[i],' ');
end;
max:=a[1];
min:=a[1];
for i:=1 to n do begin
if a[i]>max then begin
max:=a[i];
c:=i;
end;
if a[i]<min the begin
min:=a[i];
v:=i;
end;
end;
writeln('max=',max,'min=',min);
prom:=max; (вот с этой строчки и до конца помогите решить)
max:=min;
min:=prom;
writeln;
writeln('Полученный массив');
for i:=1 to n do
write(a[i], ' ');
readln;
end.
Дана строка.Перенести последнюю букву слова в начало слова
строка символов р1, р2,
..., рn. Определить число вхождений в последовательность группы
букв "xyz". Вырезать
фрагмент из текста между первым и вторым вхождением группы символов "xyz".