![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Sivka |
![]()
Сообщение
#1
|
Гость ![]() |
Здесь пять задач. Три из них я решил, а первую и вторую никак не могу сообразить. Если можно, проверьте решение и напишите, как сделать первую и вторую:
1. Пусть дана вещественная матрица размером 7х7, все элементы которой различны. Найти скалярное произведение строки с наибольшим элементом и столбца с наименьшим элементом. 2. Пусть даны две вещественные матрицы порядка n. Получить новую следующим способом (для нахождения элементов использовать функции) - прибалением к элементам каждого столбца первой матрицы произведения элементов соответствующих строк сторой матрицы 3. Число из n символов называется числом Армстронга, если сумма его цифр в n-й степени равна самому числу. Получить все числа Армстронга из 2,3,4 цифр. Код var i,sum: integer; begin for i:=0 to 99 do if sqr(i mod 10)+sqr(i div 10) = i then writeln(i); for i:=0 to 999 do begin sum:=(i div 100)*(i div 100)*(i div 100) + (i mod 100 div 10)*(i mod 100 div 10)*(i mod 100 div 10) + (i mod 100 mod 10)*(i mod 100 mod 10)*(i mod 100 mod 10); if i=sum then writeln(i); end; for i:=0 to 9999 do begin sum:=sqr(sqr(i div 1000)) + sqr(sqr(i mod 1000 div 100)) + sqr(sqr(i mod 1000 mod 100 div 10)) + sqr(sqr(i mod 1000 mod 100 mod 10)); if i=sum then writeln(i) end; readln; end. 4. Вычислить y=cos (x) + cos (x^2) ... + cos (x^30). Код var a,x,m:real;n:integer; Function Power(x:real;n:integer):real; begin if n=1 then Power:=x else begin if odd(n) then Power:=Power(x,n-1)*x else Power:=sqr(Power(x,n div 2)) end; end; begin readln(x); for n:=1 to 30 do m:=m+cos(power(x,n)); writeln(m); readln; end. 5. Дан массив целых чисел. Произвести для него следующие операции - определить сколько раз в массиве меняется знак. Массив желательно 3-х мерный... Вводится вручную. Код var i,j,n,chislo: integer; a: array [1..10] of array [1..10] of real; begin readln(n); for i:=1 to n do for j:=1 to n do readln(a[i,j]); for i:=1 to sqr(n)-1 do if a[i div (n+1) + 1, i mod (n+1)]* a[(i+1) div (n+1) + 1, (i+1) mod (n+1)]<0 then inc(chislo); writeln(chislo); readln; end. Основное, что не могу сделать - в 1) и 2) - осуществить ввод и вывод матрицы. И не могу понять, что такое и как сделать "скалярное произведение строки с наибольшим элементом и столбца с наименьшим элементом.". Добавлю - я просто учусь программировать в delphi, а знакомый попросил написать в чистом паскале, который я совсем не знаю. Заранее огромное спасибо. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 7:03 |