Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 15.01.2008, 03:15   #1
gamer.pro
Новичок
Джуниор
 
Регистрация: 15.01.2008
Сообщений: 2
Стрелка помогите с решением вот этих задачек

Пожалуйста помогите с решением вот этих задачек:
1. вычислить выражение вида: y(x)=(m^n при x>0, n^m при x<=0)
2. повернуть двумерный массив на 90градусов
3. вычислить сумму элементов выше главной диагонали, главной диагонали.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
И еще вот вопросик: как записать диапазон чисел [m..n] (к примеру задачка: найти все простые числа из диапазона [m..n])
Вот...заранее спасибо!
gamer.pro вне форума Ответить с цитированием
Старый 15.01.2008, 10:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
. вычислить выражение вида: y(x)=(m^n при x>0, n^m при x<=0)
Код:
function f(x:real):real;
begin
 if  x>0 then f:=exp(n+ln(m));
 else f:=exp(m+ln(n));
end;
Цитата:
повернуть двумерный массив на 90градусов
На экране или в самой матрице?
Цитата:
как записать диапазон чисел [m..n]
Ну в цикле... По поводу простых чисел порули поиском уже была такая тема
Stilet вне форума Ответить с цитированием
Старый 15.01.2008, 10:56   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Повороты матрицы тоже рассматривались на форуме не так давно, сам выкладывал.
puporev вне форума Ответить с цитированием
Старый 15.01.2008, 12:11   #4
lix
 
Регистрация: 02.12.2007
Сообщений: 8
По умолчанию

for i:=1 to n do
for j:=1 to n do
if j>i then s:=s+a[i,j]
end;

n-размерность матрицы, s-искомая сумма, a - имя матрицы

Совсем забыл - это была помощь к третьей задаче

Последний раз редактировалось Alex21; 15.01.2008 в 12:46.
lix вне форума Ответить с цитированием
Старый 15.01.2008, 17:36   #5
Vituskz
Пользователь
 
Регистрация: 08.12.2007
Сообщений: 32
По умолчанию

Вот решение второй задачи, если я ее так понял:
Код:
Uses crt;
Var
 a,b:Array[1..10,1..10]of integer;
 i,j,k:Integer;
Begin
 clrscr;
 k:=0;
 For i:=1 To 10 Do
  For j:=1 To 10 Do
  Begin
   k:=k+1;
   a[i,j]:=k;
  End;
 Writeln('------------------------------------------');
 For i:=1 To 10 Do
 Begin
  For j:=1 To 10 Do
   Write(a[i,j]:4);
  Writeln;
  Writeln;
 End;
 Writeln('------------------------------------------');
 For i:=1 To 10 Do
  For j:=1 To 10 Do
   b[j,11-i]:=a[i,j]; {поворот массива на 90 градусов по часовой стрелки,
 присваиваем массиву b}
 Writeln('------------------------------------------');
 For i:=1 To 10 Do
 Begin
  For j:=1 To 10 Do
   Write(b[i,j]:4);
  Writeln;
  Writeln;
 End;
 Writeln('------------------------------------------');
End.

Последний раз редактировалось Vituskz; 15.01.2008 в 17:38.
Vituskz вне форума Ответить с цитированием
Старый 15.01.2008, 18:01   #6
Андрюха из ПХТТ
Пользователь
 
Регистрация: 04.01.2008
Сообщений: 21
По умолчанию

Цитата:
Сообщение от gamer.pro Посмотреть сообщение
Пожалуйста помогите с решением вот этих задачек:
1. вычислить выражение вида: y(x)=(m^n при x>0, n^m при x<=0)
2. повернуть двумерный массив на 90градусов
3. вычислить сумму элементов выше главной диагонали, главной диагонали.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
И еще вот вопросик: как записать диапазон чисел [m..n] (к примеру задачка: найти все простые числа из диапазона [m..n])
Вот...заранее спасибо!
первая задача if x>0 then for i:=1 to m do Y:=y*n
else for i:=1 to n do Y:=y*m
вторая задача for i:=1 to n do
for j:=1 to n do begin
C:=a[i,j];
a[i,j]:=a[j,i];
a[j,i]:=c
end;
третья задача.
for i:=1 to n do
for j:=1 to n do
If j>i then s:=s+a[i,j]
Андрюха из ПХТТ вне форума Ответить с цитированием
Старый 16.01.2008, 02:27   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

простые числа в диапазоне [m..n]

Код:
function IsProstoe(N: LongInt): boolean;
var 
  i: integer; 
begin 
  IsProstoe := true; 
  if abs(N) < 3 then 
    exit; 
  for i := 2 to abs(N) - 1 do 
    if abs(N) mod i = 0 then 
      begin 
        IsProstoe := false; 
        exit; 
      end; 
end; 
 
begin 
  ... ввод M N ....
  WriteLn(' spisok prostyh: ');
  for i:=M to N do
    if IsProstoe(i) then WriteLn(i:1);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.01.2008, 15:35   #8
gamer.pro
Новичок
Джуниор
 
Регистрация: 15.01.2008
Сообщений: 2
По умолчанию

Всем большое спасибо за помощь, очень помогли!
gamer.pro вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с решением Amen Помощь студентам 13 31.01.2008 23:03
Помогите с решением функций. Nikopol Помощь студентам 6 15.06.2007 23:57
Одна из задачек...которую я ни как не могу решить(((Помогите... Верчик Помощь студентам 3 04.06.2007 20:07
Помогите с решением задачи!Please! Инзия Помощь студентам 3 11.03.2007 08:50