Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2011, 18:49   #1
L_Anya
 
Регистрация: 28.10.2011
Сообщений: 3
По умолчанию Работа с массивами

Даны натуральные числа n, целые числа a1, …, an. Необходимо:
1) получить новую последовательность b1,…, bn, заменив все нули последовательности a1, …, an целой частью среднего арифметического всех членов этой последовательности, остальные члены оставить без изменения;
2) если в последовательности b1,…, bn ни одно нечетное число не распо-
ложено после четного, то получить все отрицательные члены последовательности, иначе – все положительные.


2. Даны две матрицы A (NxM), B (MxN), содержащих вещественные числа. Получить новую матрицу C прибавлением к элементам каждой строки матрицы A среднегеометрическое элементов соответствующих строк матрицы B.

напишите коды,будьте добры)

Последний раз редактировалось L_Anya; 29.10.2011 в 18:50. Причина: ошибка в тексте
L_Anya вне форума Ответить с цитированием
Старый 29.10.2011, 19:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вторая задача навскидку:
Код:
MODULE m;
 IMPORT StdLog,ObxRandom,Math;
 CONST n=5;m=5;
 VAR a,b,c:ARRAY(n) OF ARRAY(m+1) OF REAL; 

PROCEDURE ou(x:ARRAY OF ARRAY OF REAL);
VAR i,j:INTEGER;
BEGIN
  FOR i:=0 TO LEN(x)-1 DO 
   FOR j:=0 TO LEN(x[i])-2 DO
    StdLog.RealForm(x[i,j],10,2,0,'0');StdLog.Tab;
   END;StdLog.Ln;
  END;StdLog.Ln;
END ou;

PROCEDURE do*;
VAR imax, i,j:INTEGER; Sum,max:REAL;
BEGIN  StdLog.Clear; imax:=0;
  FOR i:=0 TO LEN(a)-1 DO b[i,LEN(a[i])-1]:=1;
   FOR j:=0 TO LEN(a[i])-2 DO
    a[i,j]:=((ObxRandom.Uniform()*100));
    a[i,LEN(a[i])-1]:=a[i,LEN(a[i])-1]*a[i,j];

    b[i,j]:=((ObxRandom.Uniform()*100));
    b[i,LEN(a[i])-1]:=b[i,LEN(a[i])-1]*b[i,j]
   END;
  END;
ou(a);ou(b);
  FOR i:=0 TO LEN(c)-1 DO 
   FOR j:=0 TO LEN(c[i])-2 DO
    c[i,j]:=a[i,j]+b[i,LEN(b[i])-1];
   END;
  END;
ou(c);
END do;

END m.
m.do;
Результат:
Цитата:
81.43887794 23.56932886 38.80508372 85.06718054 3.969094206
74.04072796 65.84308183 35.11867078 72.54724133 60.1205908
57.44375794 27.81079087 75.43480558 89.78300024 49.5506712
85.35372013 48.14110079 33.43338451 14.49494125 39.01817698
57.91186386 63.0341511 28.82082659 68.0474758 70.40960545

43.22148922 29.71016868 97.0420103 24.10328846 8.566314079
2.51477617 24.6763324 39.49976481 1.485102671 46.7696462
57.23971029 15.962125 32.77740126 82.88508066 98.13085939
39.97430482 7.48101585 14.89346671 16.4775997 78.5005005
24.69584305 14.97761771 91.63253689 73.9257696 74.23883261

25729793.18 25729735.31 25729750.55 25729796.81 25729715.71
170327.1381 170318.9404 170288.216 170325.6446 170313.2179
243581735.9 243581706.3 243581753.9 243581768.3 243581728.0
5761162.188 5761124.976 5761110.268 5761091.33 5761115.853
186013057.7 186013062.8 186013028.6 186013067.9 186013070.2
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивами pashqa Помощь студентам 2 27.05.2011 15:23
Работа с массивами в С++ verpl Помощь студентам 2 15.12.2009 14:45
Работа с массивами Stelix Паскаль, Turbo Pascal, PascalABC.NET 1 20.06.2008 11:37