Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Dextel
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 24
1

Все нулевые элементы среди четных столбцов массива заменить на среднее значение положительных элементов

21.03.2012, 14:15. Просмотров 1260. Ответов 7
Метки нет (Все метки)

Помогите сделать задачу!
Дан двумерный массив X(N,M). Все нулевые элементы среди четных столбцов массива заменить на среднее значение положительных элементов этих же столбцов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2012, 14:15
Ответы с готовыми решениями:

Все нулевые элементы среди четных столбцов массива заменить на среднее значение положительных элементов
НУЖНО ПЕРЕПИСАТЬ ЭТУ ПРОГРАММУ БЕЗ RANDOMIZE И RANDOM!!! Помогите пожалуйста...

Дан массив X(M,N). Все нулевые элементы среди четных столбцов заменить на среднее положительных элеменов столбцов
4.44 Дан массив X(M,N). Все нулевые элементы среди четных столбцов заменить на...

Все нулевые элементы массива заменить на среднее значение положительных элементов
Помогите пожалуйста с задачей: Дан массив X(N). Все нулевые элементы массива...

Заменить все нулевые элементы массива на среднее арифметическое всех элементов массива
Дан массив С (N). Заменить все нулевые элементы массива на среднее...

Дан массив.Заменить все нулевые элементы массива на среднее арифметическое всех элементов массива
Дан массив С (N).Заменить все нулевые элементы массива на среднее...

7
morgan57
42 / 42 / 33
Регистрация: 05.12.2011
Сообщений: 201
21.03.2012, 19:55 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var
i,j,k,n,m,l,q:integer;
sr:longint;
x:array [1..100,1..100] of integer;
begin
  readln(n,m);
  randomize;
  for i:=1 to n do
    for j:=1 to n do x[i,j]:=random(5);
  for i:=1 to n do begin
    writeln;
    for j:=1 to m do write(x[i,j]:4);
  end;
  for i:=1 to n do
    for j:=1 to m do begin
      sr:=0;
      l:=0;
      if j mod 2=0 then
       for k:=1 to m do begin
         if x[i,k]<>0 then begin
           l:=l+1;
           sr:=sr+x[i,k];
         end;
      end;
      k:=0;
      for k:=1 to m do
         if x[i,k]=0 then x[i,k]:=sr;
     end;
    writeln;
    writeln;
    for i:=1 to n do begin
      writeln;
      for j:=1 to m do write(x[i,j]:4);
   end;
end.
2
Dextel
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 24
07.04.2012, 20:38  [ТС] 3
Помогите записать данную задачу в виде подпрограммы.
Дан двумерный массив X(N,M). Все нулевые элементы среди четных столбцов массива заменить на среднее значение положительных элементов этих же столбцов.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var
i,j,k,n,m,l,q:integer;
sr:longint;
x:array [1..100,1..100] of integer;
begin
  readln(n,m);
  randomize;
  for i:=1 to n do
    for j:=1 to n do x[i,j]:=random(5);
  for i:=1 to n do begin
    writeln;
    for j:=1 to m do write(x[i,j]:4);
  end;
  for i:=1 to n do
    for j:=1 to m do begin
      sr:=0;
      l:=0;
      if j mod 2=0 then
       for k:=1 to m do begin
         if x[i,k]<>0 then begin
           l:=l+1;
           sr:=sr+x[i,k];
         end;
      end;
      k:=0;
      for k:=1 to m do
         if x[i,k]=0 then x[i,k]:=sr;
     end;
    writeln;
    writeln;
    for i:=1 to n do begin
      writeln;
      for j:=1 to m do write(x[i,j]:4);
   end;
end.
0
antbert
8 / 8 / 1
Регистрация: 28.03.2012
Сообщений: 126
10.04.2012, 08:37 4
Гадкий код.
Подпрограмму? В смысле?
0
Dextel
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 24
10.04.2012, 13:55  [ТС] 5
Цитата Сообщение от antbert Посмотреть сообщение
Гадкий код.
Подпрограмму? В смысле?
Нужно написать подпрограмму к данной выше задаче.Не обязательно по тому коду который написан выше - это просто пример как выглядит сама задача.
0
КонецСвета
Почетный модератор
7931 / 3902 / 2464
Регистрация: 30.10.2011
Сообщений: 5,379
18.04.2012, 18:57 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
uses crt;
const n=5; m=6;
type matr=array [1..n,1..m] of real;
var a: matr;
 
procedure GenM (var z: matr);
var i,j: byte;
begin
randomize;
for i:=1 to n do
    for j:=1 to m do
        z[i,j]:=random(5);
end;
 
procedure PrintM (z: matr);
var i,j: byte;
begin
for i:=1 to n do
    begin
    for j:=1 to m do
        write(z[i,j]:4:1);
    writeln;
    end;
end;
 
function Sar (ns: byte; z: matr): real;
var l,k: byte;  s: real;
begin
k:=0; s:=0;
for l:=1 to n do
    if z[l,ns]>0 then
       begin
       inc(k);
       s:=s+z[l,ns];
       end;
if k>0 then Sar:=s/k else Sar:=0;
end;
 
procedure Change(var z: matr);
var i,j: byte; c: real;
begin
for j:=1 to m do
    if j mod 2=0 then
       begin
       c:=Sar (j,z);
       for i:=1 to n do
           if z[i,j]=0 then z[i,j]:=c;
       end;
end;
 
begin
GenM (a);
writeln('исходная матрица');
PrintM (a);
Change(a);
writeln('итоговая матрица');
PrintM (a);
end.
1
Dextel
1 / 1 / 0
Регистрация: 12.03.2012
Сообщений: 24
24.04.2012, 20:29  [ТС] 7
Помогите сделать задачу!
Дан двумерный массив X(N,M). Все нулевые элементы среди четных столбцов массива заменить на среднее значение положительных элементов этих же столбцов.
Задачу нужно написать без randomize, через read с уравнением нахождения среднего арифмитического для столбцов.
Данная ниже задача оказалась не верной:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var
i,j,k,n,m,l,q:integer;
sr:longint;
x:array [1..100,1..100] of integer;
begin
  readln(n,m);
  randomize;
  for i:=1 to n do
    for j:=1 to n do x[i,j]:=random(5);
  for i:=1 to n do begin
    writeln;
    for j:=1 to m do write(x[i,j]:4);
  end;
  for i:=1 to n do
    for j:=1 to m do begin
      sr:=0;
      l:=0;
      if j mod 2=0 then
       for k:=1 to m do begin
         if x[i,k]<>0 then begin
           l:=l+1;
           sr:=sr+x[i,k];
         end;
      end;
      k:=0;
      for k:=1 to m do
         if x[i,k]=0 then x[i,k]:=sr;
     end;
    writeln;
    writeln;
    for i:=1 to n do begin
      writeln;
      for j:=1 to m do write(x[i,j]:4);
   end;
end.
0
Das Gespenst
Лучи добра
172 / 170 / 191
Регистрация: 08.06.2012
Сообщений: 292
09.06.2012, 21:53 8
Держи свою прогу!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
program z;
var i,j,k,b,n,m,s,sa:integer;
a:array [1..10,1..10] of integer;
begin
     writeln('Введите кол-во столбцов матрицы');
     readln(n);
     writeln('Введите кол-во строк матрицы');
     readln(m);
     randomize;
     for i:=1 to n do
         for j:=1 to m do
             a[i,j]:=trunc(10-(-10)*random+(-10));
     writeln('Исходная матрица');
     for i:=1 to n do
         begin
              for j:=1 to m do
                  write(a[i,j],' ');
              writeln;
         end;
     for i:=1 to n do
         begin
         if (i mod 2)=0
            then
                begin
                     s:=0;
                     k:=0;
                     for j:=1 to m do
                         if a[i,j]>0
                            then
                                begin
                                     s:=s+a[i,j];
                                     k:=k+1;
                                end;
              sa:=round(s/k);
              for j:=1 to m do
                  if a[i,j]=0
                     then
                         a[i,j]:=sa;
                end;
         end;
     writeln('Результат');
     for i:=1 to n do
         begin
              for j:=1 to m do
                  write(a[i,j],' ');
              writeln;
         end;
end.
1
09.06.2012, 21:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2012, 21:53

Все нулевые элементы массива заменить на среднее значение положительных элементов
Дан массив X(N) .Все нулевые элементы массива заменить на среднее значение...

Заменить элементы массива, равные 50, на значение максимального среди положительных элементов. Определить количество замен.
Нужна помощь Специалиста по Pascal Спасибо что вы есть Помогите решить задачу...

Заменить все отрицательные элементы на среднее арифметическое значение элементов массива
ввести двухмерный массив A(N,N) Создать программу замены всех негативных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru