Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Neriella
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 9
1

Среднеарифметическое каждого столбца матрицы: перевод программы с Pascal

29.05.2014, 22:52. Просмотров 301. Ответов 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
const n=10;
var
mas:array[1..n,1..n] of integer;
srmas:array[1..n] of real;
i,j,m:integer;
sr:real;
BEGIN
  randomize;
  writeln('Матрица:');
  for i:=1 to n do
    begin
    for j:=1 to n do
      begin
      mas[i,j]:=random(51);
      write(mas[i,j]:3);
      end;
    writeln;
    end;
  for j:=1 to n do
    begin
    sr:=0;
    for i:=1 to n do
      sr:=sr+mas[i,j];
    srmas[j]:=sr/n;
    if srmas[j]>mas[j, n-j+1] then
      inc(m);
    end;
  writeln('Среднеарифметическое каждого столбца матрицы:');
  for i:=1 to n do
    write(srmas[i]:7:2);
  writeln;
  writeln('Кол-во столбцов, у которых ср.арифм. больше элемента побоч. диагонади=',m,'.');
  readln;
END.
Добавлено через 1 час 45 минут
Ну или просто помогите дописать.)
Задание звучит так: дана матрица 10х10. Найти среднеарифметическое каждого из столбцов и количество столбцов, у которых среднеарифметическое больше элемента побочной диагонали.

Я написала программу, которая ищет среднеарифметическое каждого из столбцов,а дальше не знаю как сделать =/

C++
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
#include "windows.h"
#include <iostream>
#include <ctime>
#include "conio.h"
using namespace std;
 
int main()
{
srand(static_cast<unsigned>(time(NULL)));
const int m=10, n=10;
int** A;
A=new int*[n];
for (int i=0; i<n; i++)
     A[i]=new int[m];
for (int i=0; i<n; i++)
{
    for (int j=0; j<m; j++)
    {
    A[i][j]=rand()%100+1;
    }
 
}
for (int i=0; i<n; i++)
{
    for (int j=0; j<m; j++)
    {
             cout<<A[i][j]<<endl;
             }
}
for (int j=0; j<m; j++)
{
    int sum=0;
     for (int i=0; i<n; i++)
     {
         sum+=A[i][j];
     }
 
cout<<"Srednearifmeticheskoe "<<j+1<<" stolbca: "<<static_cast<double>(sum)/n<<endl;
}
getch();
return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 22:52
Ответы с готовыми решениями:

Вычесть из каждого столбца матрицы максимальный элемент для каждого столбца, и результат вывести в матрицу
Что нужно добавить , чтобы вычесть из каждого столбца матрицы максимальный элемент для каждого...

Разделить элементы каждого столбца заданной матрицы на последний элемент столбца
Разделить элементы каждого столбца заданной матрицы на последний элемент столбца.

Массив: Разделить элементы каждого столбца заданной матрицы на последний элемент столбца.
Разделить элементы каждого столбца заданной матрицы на последний элемент столбца. Полученную...

Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы A
Матрица A (M кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого...

Перевод программы из Pascal на C++
program vlad; uses crt; var m:integer; a:real; begin clrscr; write('a: '); ...

2
kivalrd
0 / 0 / 3
Регистрация: 03.11.2013
Сообщений: 50
30.05.2014, 03:31 2
У меня как-то так получилось:
C++
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale (0, "russian");
    const int n = 10;
    int mas [n][n], i, j, m = 0;
    double srmas [n], sr;
    srand(time(NULL));
    cout << "Матрица:\n\n";
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            mas[i][j] = rand() % 51;
            cout << setw(6) << mas[i][j];
        }
        cout << endl;
    }
 
    for (j = 0; j < n; j++)
    {
        sr = 0;
        for (i = 0; i < n; i++)
        {
            sr += mas[i][j];
            srmas[i] = sr / n;
            if (j == n - i - 1)
                if (srmas[i] > mas[i][j])
                    m++;
        }
    }
    cout << "\nСреднеарифметическое каждого столбца матрицы:\n\n";
    for (i = 0; i < n; i++)
        cout << setw(6) << srmas [i];
    cout << "\n\nКол-во столбцов, у которых ср.арифм. больше "
         "элемента побоч. диагонали = " << m << '.' << endl;
    cin.get();
    return 0;
}
Добавлено через 24 минуты
Ой, там ошибка. Строчку 31 заменить на:
C++
1
srmas[j] = sr / n;
0
Neriella
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 9
30.05.2014, 08:33  [ТС] 3
спасибо Вам большое))
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 08:33

Перевод программы из Pascal в C++
Здравствуйте! Помогите перевести готовую программу сделанную на Pascal'e в С++. Знания Паскаля...

Перевод программы с Pascal на С++
1. procedure TForm1.Button1Click(Sender: TObject); var i,k,n:integer; x,y,S:array of real;...

Перевод программы с Pascal на С++
uses crt; var i :integer; BEGIN ClrScr; Write('Результат: '); for i := 20 to 50 do if (i...


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

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

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