0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 19
1

Найти среднее арифметическое кодов элементов главной диагонали

16.06.2015, 20:54. Показов 503. Ответов 0
Метки нет (Все метки)

Добрый вечер форумчани
Нужно оформить код программы с помощью процедур(сортировку) и функции(среднее арифметическое кодов элементов главной диагонали), а так же вывести в текстовый файл элементы главной диагонали матрицы
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
59
60
61
62
63
64
PROGRAM Matrica;
USES CRT;
VAR n,m:integer;                        
    Mtx:ARRAY[1..100, 1..100] OF CHAR;          
    i,j,k:INTEGER;                     
    Q:CHAR;            
    buf:CHAR;          
    sum:REAL;
BEGIN
  REPEAT
    BEGIN
      CLRSCR;
      WRITELN('Vvedite kolichestvo strok matricy n=');
      READLN(n);
      WRITEln('Vvedite kolichestvo stolbcov matricy m=');
      READLN(m);
      FOR i:=1 TO n DO
        FOR j:=1 TO m DO
          BEGIN
            WRITELN('Vvedite ', j, ' bukvu ', i,' Stroki');
            READLN(Mtx[i,j]);
          END;
          WRITELN('Dlja matricy ', n,'x', m,':');
          FOR i:=1 TO n DO
            BEGIN
              FOR j:=1 TO m DO
                WRITE(Mtx[i,j]:2);
                WRITELN;
            END;
          BEGIN
            FOR i:=1 TO n-1 DO
              FOR k:=i+1 TO n DO
                FOR j:=1 TO m DO
                  IF Mtx[i,j]>Mtx[k,j] THEN
                    BEGIN
                      buf:=Mtx[i,j];
                      Mtx[i,j]:=Mtx[k,j];
                      Mtx[k,j]:=buf;
                    END;
          END;
          BEGIN
            WRITELN('Otsortirovanaya matrica:');
            FOR i:=1 TO n DO
              BEGIN
                FOR j:=1 TO m DO
                  WRITE(Mtx[i,j]:2);
                  WRITELN;
              END;
          END;
          sum:=0;
          FOR i:=1 TO n DO
            FOR j:=1 TO m DO
              BEGIN
                IF i=j THEN
                  sum:=sum+ord(mtx[i,j]);
              END;
            sum:=sum/n;
            WRITELN('SrednearIFmeticheskoe kodov po glavnoi diagonali = ', sum:6:2);
            WRITELN;
            WRITELN('Exit? y/n');
            READLN(Q);
    END;
  UNTIL Q='y';
END.
Добавлено через 21 час 40 минут
Вроде сделал, но теперь возникли проблемы, с выводом в файл элементов главной диагонали матрицы
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
PROGRAM Matrica;
USES CRT;
TYPE
  A=ARRAY[1..100, 1..100] OF CHAR;
VAR
  i,j,k,N,M:INTEGER;
  Mtx:A;
  sum:REAL;
  TXT:TEXT;
PROCEDURE Sortirovka(VAR B:A;C,D:INTEGER);
VAR
  E,F,G:INTEGER;
  buf:CHAR;
BEGIN
  FOR E:=1 TO C-1
  DO
    FOR G:=E+1 TO C
    DO
      FOR F:=1 TO D
      DO
        IF B[E,F]>B[G,F] THEN
          BEGIN
            buf:=B[E,F];
            B[E,F]:=B[G,F];
            B[G,F]:=buf;
          END;
END;
FUNCTION SUMARF(B:A;N,M:INTEGER):REAL;
VAR
  sr:REAL;
  s:INTEGER;
BEGIN
  s:=0;
  FOR i:=1 TO N
  DO
    FOR j:=1 TO M
    DO
      BEGIN
        IF i=j THEN
          s:=s+ord(B[i,j]);
      END;
      sr:=s/N;
      SUMARF:=sr;
END;
BEGIN
  BEGIN
    CLRSCR;
    WRITELN('Vvedite kolichestvo strok matricy n=');
    READLN(N);
    WRITELN('Vvedite kolichestvo stolbcov matricy m=');
    READLN(M);
    FOR i:=1 TO N
    DO
      FOR j:=1 TO M
      DO
        BEGIN
          WRITELN('Vvedite ', j, ' bukvu ', i,' Stroki');
          READLN(Mtx[i,j]);
        END;
        WRITELN('Dlja matricy ', N,'x', M,':');
        FOR i:=1 TO N
        DO
          BEGIN
            FOR j:=1 TO M
            DO
              WRITE(Mtx[i,j]:2);
              WRITELN;
          END;
    BEGIN
      Sortirovka(Mtx,N,M);
      WRITELN('Otsortirovanaya matrica:');
      FOR i:=1 TO N
      DO
        BEGIN
          FOR j:=1 TO M
          DO
            WRITE(Mtx[i,j]:2);
            WRITELN;
            END;
        END;
        WRITELN('SrednearIFmeticheskoe kodov po glavnoi diagonali = ', SUMARF(Mtx,N,M):6:2);
        WRITELN;
    END;
  ASSIGN(TXT,'file.txt');
  REWRITE(TXT);
  FOR i:=1 TO m
  DO
    WRITE(TXT, тут что то должно быть!);
    CLOSE(TXT);
  READKEY;
END.
Добавлено через 1 час 37 минут
Вот кому надо может быть понадобиться, готовая программа
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
PROGRAM Matrica;
USES CRT;
TYPE
  A=ARRAY[1..100, 1..100] OF CHAR;
VAR
  i,j,k,N,M,t:INTEGER;
  Mtx:A;
  sum:REAL;
  TXT:TEXT;
PROCEDURE Sortirovka(VAR B:A;C,D:INTEGER);
VAR
  E,F,G:INTEGER;
  buf:CHAR;
BEGIN
  FOR E:=1 TO C-1
  DO
    FOR G:=E+1 TO C
    DO
      FOR F:=1 TO D
      DO
        IF B[E,F]>B[G,F] THEN
          BEGIN
            buf:=B[E,F];
            B[E,F]:=B[G,F];
            B[G,F]:=buf;
          END;
END;
FUNCTION SUMARF(B:A;N,M:INTEGER):REAL;
VAR
  sr:REAL;
  s:INTEGER;
BEGIN
  s:=0;
  FOR i:=1 TO N
  DO
    FOR j:=1 TO M
    DO
      BEGIN
        IF i=j THEN
          s:=s+ord(B[i,j]);
      END;
      sr:=s/N;
      SUMARF:=sr;
END;
BEGIN
  BEGIN
    CLRSCR;
    WRITELN('Vvedite kolichestvo strok matricy n=');
    READLN(N);
    WRITELN('Vvedite kolichestvo stolbcov matricy m=');
    READLN(M);
    FOR i:=1 TO N
    DO
      FOR j:=1 TO M
      DO
        BEGIN
          WRITELN('Vvedite ', j, ' bukvu ', i,' Stroki');
          READLN(Mtx[i,j]);
        END;
        WRITELN('Dlja matricy ', N,'x', M,':');
        FOR i:=1 TO N
        DO
          BEGIN
            FOR j:=1 TO M
            DO
              WRITE(Mtx[i,j]:2);
              WRITELN;
          END;
    BEGIN
      Sortirovka(Mtx,N,M);
      WRITELN('Otsortirovanaya matrica:');
      FOR i:=1 TO N
      DO
        BEGIN
          FOR j:=1 TO M
          DO
            WRITE(Mtx[i,j]:2);
            WRITELN;
            END;
        END;
        WRITELN('SrednearIFmeticheskoe kodov po glavnoi diagonali = ', SUMARF(Mtx,N,M):6:2);
        WRITELN;
    END;
  IF N<M
  THEN
    t:=N
  ELSE
    t:=M;
  ASSIGN(TXT, 'file.txt');
  REWRITE(TXT);
  FOR i:=1 TO t
  DO
    WRITE(TXT, Mtx[i,i], ' ');
    CLOSE(TXT);
  READKEY;
END.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2015, 20:54
Ответы с готовыми решениями:

Найти среднее арифметическое значений элементов, стоящих на главной диагонали двумерного массива, размера 4х4, заполненного случайными числами.
Напишите пожалуйста решение!СПАСИБО! Найти среднее арифметическое значений элементов, стоящих на...

Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали.
Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых...

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

Рассчитать среднее арифметическое элементов главной диагонали матрицы
рассчитать среднее арифметическое чисел которые отвечают элементам главной диагонали матрицы Аnxn.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2015, 20:54

Определить среднее арифметическое элементов главной диагонали матрицы
помогите пожалуйста написать программу в паскале. Дана квадратная целочисленная матрица R порядка...

Определить, больше ли среднее арифметическое элементов массива произведения элементов его главной диагонали
Присвоить переменной t значение true, если среднее арифметическое элементов двумерного массива...

Вычислить среднее арифметическое элементов, расположенных выше главной диагонали
Для матрицы А целых чисел размера MxN вычислить среднее арифметическое элементов, расположенных...

Определить среднее арифметическое положительных элементов главной диагонали матрицы
|1 0 -1 2| |2 3 -4 5| С=|2 -1 -1 1| |4 0 2 2|


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

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

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