Как найти количество положительных элементов в столбце

0 / 0 / 0

Регистрация: 28.02.2018

Сообщений: 13

1

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

01.03.2018, 19:45. Показов 3176. Ответов 1


Студворк — интернет-сервис помощи студентам

Нужно задать значения вещественным элементам матриц А и Q размер-
ностью 3 на 5 и сформировать массивы B и R, состоящие из коли-
чества положительных элементов столбцов матриц A и Q соот-
ветственно.



0



Yetty

7427 / 5021 / 2891

Регистрация: 18.12.2017

Сообщений: 15,694

02.03.2018, 01:30

2

Лучший ответ Сообщение было отмечено CybeStudent как решение

Решение

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
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
int main()
{
    srand(time(0));    
    double A[3][5], Q[3][5];
    int B[5], R[5]; 
    
    cout <<"Matrix A:n";
    for (size_t i = 0; i < 3; i++)
        {
        for (size_t j = 0; j < 5; j++)
        {
            A[i][j] = rand()%19-9;
            cout <<setw(2)<<A[i][j]<<" ";
        }
            cout << endl;            
        }       
        
    cout <<"Matrix Q:n";    
    for (size_t i = 0; i < 3; i++)
        {
        for (size_t j = 0; j < 5; j++)
        {
            Q[i][j] = rand()%19-9;
            cout <<setw(2)<<Q[i][j]<<" ";
        }
            cout << endl;            
        }        
        
    for (size_t j = 0; j < 5; j++)   
        {
    int count1=0, count2=0;    
    for (size_t i = 0; i < 3; i++)
        {
            if (A[i][j]>0) count1++;
            if (Q[i][j]>0) count2++;
        }
        B[j]=count1;
        R[j]=count2;                        
        }  
        
    cout <<"Matrix B:n";
    for (size_t j = 0; j < 5; j++)
    cout<<setw(2)<< B[j] <<" ";
        
    cout <<"nMatrix R:n";
    for (size_t j = 0; j < 5; j++)
    cout<<setw(2)<< R[j] <<" ";
    cout<<endl;
system("pause");
return 0;
}



0



Обозначения:
a[k,l] – матрица целых чисел; k – количество
строк матрицы; l – количество столбцов
матрицы; i,j – номера строк и столбцов
матрицы; с[k] – массив, элементы которого
есть количество положительных элементов
в столбцах матрицы a[k,l].

//
Program ex35;

#include<iostream.h>

#include<stdlib.h>

int
a[100][100];

int
c[100];

int
i,j,n,k,l;

main()

{

cout
<< “Введите количество строк матрицы
k =”;

cin
>> k;

cout
<< “Введите количество столбцов
матрицы l =”;

cin
>> l;

for
(i=0; i<k; i++)

for
(j=0; j<l; j++)

a[i][j]=rand()%10-5;

cout
<< “nИсходная
матрица
a[i,j]:n”;

for
(i=0; i<k; i++)

{

for(j=0;
j<l; j++)

cout
<< a[i][j] << ” “;

cout
<< “n”;

}

for
(j=0;j<l;j++)

{

c[j]=0;

for
(i=0;i<k;i++)

{

if
(a[i][j]>=0)

c[j]=c[j]+1;

}

}

cout
<< “nn Кол-во положительных элементов
в столбцах = “;

for
(j=0;j<l;j++)

cout
<< c[j] <<” “;

}

36.
Задана квадpатная
матpица
целых чисел a[k,k].
Поменять местами элементы главной и
обpатной диагонали.

Обозначения:
a[k,k] – матрица целых чисел; k – количество
строк и столбцов матрицы; i,j – номера
строк и столбцов матрицы; r – ячейка
обмена.

//Программа
№36

#include<iostream.h>

#include<stdlib.h>

int
a[100][100];

int
i,j,k,r;

main()

{

cout
<< “Введите количество строк матрицы
k=”;

cin
>> k;

for(i=0;
i<k; i++)

for(j=0;
j<k; j++)

a[i][j]=rand()%30;

cout
<< “nИсходная матрица a[i,j]:n”;

for
(i=0; i<k; i++)

{

for(j=0;
j<k; j++)

cout
<< a[i][j] << ” “;

cout
<< “n”;

}

j=k-1;

for(i=0;
i<k; i++)

{

r=a[i][j];

a[i][j]=a[i][i];

a[i][i]=r;

j–;

}

cout
<< “nРезультат:n”;

for
(i=0; i<k; i++)

{

for(j=0;
j<k; j++)

cout
<< a[i][j] << ” “;

cout
<< “n”;

}

return
0;

}

37.
Опpеделить максимальный элемент
матpицы.

Обозначения:
a[k,l] – матрица целых чисел; k – количество
строк матрицы; l – количество столбцов
матрицы a; i,j – номера строк и столбцов
матрицы; max- максимальный элемент матрицы.

//
Программа №37

//
Определить максимальный элемент матрицы.

//Обозначения:

//a[k,l]
– матрица целых чисел; k – количество
строк матрицы;

//l
– количество столбцов матрицы;

//i,j
– номера строк и столбцов матрицы;

//max
– максимальный элемнт матрицы;

#include<iostream.h>

#include<stdlib.h>

int
a[100][100];

int
k,l,i,j,max;

main()

{

cout
<< “Введите количество строк матрицы
k =”;

cin
>> k;

cout
<< “Введите количество столбцов
матрицы l =”;

cin
>> l;

for(i=0;
i<k; i++)

for(j=0;
j<l; j++)

a[i][j]=rand()%10-5;

cout
<< “nИсходная матрица a[i,j]:n”;

for
(i=0; i<k; i++)

{

for(j=0;
j<l; j++)

cout
<< a[i][j] << ” “;

cout
<< “n”;

}

cout
<< ” n “;

max=a[1][1];

for
(i=0;i<k;i++)

for
(j=0;j<l;j++)

if
(max<a[i][j]) max=a[i][j];

cout
<<“n”;

cout
<< ” Максимальный элемент матрицы
= ” << max
<< ” nn”;

return
0;

}

38.
Задана матpица целых чисел a[m,n]. Опpеделить
min элемент сpеди
a[i,j]
> 0.

Обозначения:
a[m,n] – матрица целых чисел; m – количество
строк матрицы; n – количество столбцов
матрицы; i,j – номера строк и столбцов
матрицы; b[k] – массив, элементы которого
равны положительным элементам матрицы
a[m,n]; k – количество элементов в массиве
b[k]; min – минимальный элемент среди
положительных элементов матрицы a[m,n].

//Программа
№38

#include<iostream.h>

#include<stdlib.h>

int
a[10][10];

int
b[100];

int
i,j,m,n,k,min;

main()

{

cout
<< “Введите количество строк матрицы
m=”;

cin
>> m;

cout
<< “Введите количество столбцов
матрицы n=”;

cin
>> n;

for(i=0;
i<m; i++)

for(j=0;
j<n; j++)

a[i][j]=rand()%100-50;

cout
<< “nИсходная матрица a[i,j]:n”;

for
(i=0; i<m; i++)

{

for(j=0;
j<n; j++)

cout
<< a[i][j] << ” “;

cout
<< “n”;

}

k=-1;

for(i=0;
i<m; i++)

for(j=0;
j<n; j++)

if(a[i][j]>0)

{

k++;

b[k]=a[i][j];

}

cout
<< “nРезультат:n”;

if(k!=-1)

{

cout
<< “nЭлементы
матрицы
a[i][j]>0: “;

for
(i=0; i<=k; i++)

cout
<< b[i] << ” “;

min=b[0];

for(i=1;
i<k; i++)

if(min>b[i])
min=b[i];

cout
<< “nmin=” << min;

}

else
cout << “na[i][j]>0 НЕТ!!!”;

cout
<< “nn”;

return
0;

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static void Main()
        {
            int i, j;
            int summa=0,k=0,num=0;
            int[,] a = new int[5, 5];
            int[] b = new int[5];
            Random rand=new Random();
            for (i = 0; i < 5; i++) //заполняем двумерный массив случайными числами
                for (j = 0; j < 5; j++)
                {
                    int random = rand.Next(-100, 100);
                    a[i, j] = random;
                }
            //вычисляем сумму каждого столбца
                  for (i=0;i<5;i++)
                      for (j = 0; j < 5; j++)
                      {
                          summa += a[j, i];
                          if (a[j, i] > 0) num++; //подсчитываем количеством положительных элементов каждого столбца
                          if (j == 4)
                          {
                              b[k] = summa; //записываем в новый массив суммы столбцов
                              Console.WriteLine("Количество положительных чисел в " + k + "-ом столбце= " + num);
                              Console.WriteLine("Сумма " + k + "-ого столбца массива = " + summa);
                              k++; //подссчитываем количество столбцов
                              summa = 0;  //обнуляем сумму столбцов
                              num = 0; //обнуляем количество положительных элементов в столбце
                          }
                      }
                  Console.WriteLine();
                  Console.WriteLine("Выводим на экран массив, состоящий из суммы столбцов двумерного массива:");
                  for (i = 0; i < b.Length; i++)
                      Console.Write(b[i]+ " ");
                  Console.ReadLine();      
 
        }
    }
}



  • 0




Подсчитать количество положительных элементов в каждом столбце матрицы размером МхN, элементы которой вводятся с клавиатуры.

  • Комментариев (0)



  • 0


Const
   M = 3;
   N = 4;
Var
   A:array[1..M,1..N] of integer;
   i,j,k:integer;
Begin
WriteLn(‘Введите матрицу A(‘,M,’,’,N,’):’);
For i:= 1 to M do
    For j:= 1 to N do
        Read(A[i,j]);
WriteLn(‘Количества положительных элементов в столбцах:’);
For j:= 1 to N do
    Begin
    k:=0;
    For i:= 1 to M do
        if A[i,j] > 0 then k:=k+1;
    Write(k,’ ‘)
    End;
End.

  • Комментариев (0)

Как мне сделать,чтобы найти количество положительный элементов каждого столбца.



Ученик

(79),
закрыт



1 год назад

Николай Веселуха

Высший разум

(334023)


1 год назад

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int mx[5][3] = {
{ -2, 3, 0 },
{ 6, 2, -7 },
{ 2, 0, -7 },
{ -2, 7, 8 },
{ 0, 1, -4 }
};
for (auto& row : mx) {
for (auto x : row) cout << setw(4) << x;
puts(“”);
}
puts(“”);
for (auto j = 0; j < 3; ++j) {
auto count = 0;
for (auto i = 0; i < 5; ++i) if (mx[i][j] > 0) ++count;
cout << setw(4) << count;
}
puts(“”);
system(“pause > nul”);
}

Добавить комментарий