Дана вещественная прямоугольная матрица порядка Nm (n = 8, M = 5). Нап

  • Автор темы Gantz
  • Дата начала
G

Gantz

Гость
#1
Дана вещественная прямоугольная матрица порядка nm (n = 8, m = 5). Написать две функции, определяющие:

количество элементов массива, лежащих в диапазоне от А до В;

сумму модулей элементов массива, расположенных после первого отрицательного элемента.
c++/codeblocks
 
G

Gantz

Гость
#2
все сделал если кому надо

<pre><code class="cpp"></code></pre>#include <iostream>
#include <conio.h>

#define N 8
#define M 5

typedef int ARRAY[N][M];

int Diapazon (ARRAY &m);
int Sum (ARRAY &m);

using namespace std;

int main(void)
{
ARRAY m =
{
{ 1, 2, 3, 4, 1 },
{ 0, 2, 3, 0, 2 },
{ 1, 2, 3, 4, 3 },
{ 1, 2, 0, 4, 0 },
{ 1, 2, 3, 4, 4 },
{ 1, 0, 3, 4, 1 },
{ 1, 2, 3, 4, 2 },
{ 0, -2, -3, 0, 1 }
};

int d = Diapazon (m);
cout << "Diapazon = " << d << endl;
d=Sum (m);
cout << "\nSum = " << d << endl;



// Завершение работы программы
getch ();
return 0;
}


int Diapazon (ARRAY &m)
{
int n = 0;
int A;
int B;
cout << "A= ";
cin >> A;
cout << "B= ";
cin >> B;
for (int i = 0; i < N; i++) // цикл по всем строкам
{
for (int j = 0; j < M; j++) // цикл по элементам строки
{
int t=m[j];
if (t > A && t < :)
{
n++;
}
}

}
return n;
}

int Sum (ARRAY &m)
{
int n =0;
int t;
bool x = false;
for (int i = 0; i < N; i++) // цикл по всем строкам
{
for (int j = 0; j < M; j++) // цикл по элементам строки
{
t = m[j];
if (x==true)
{
if (t<0)
{
t=-t;
}
n+=t;
}
if (t < 0)
{
x = true;
}
}
}
return n;
}
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#3