C/C++
Помогите написать программу по этому условию
Дан двумерный массив a, размером (n´m). Заполнить одномерный массив, найдя количество положительных элементов в каждой строке матрицы.
#include
int main()
{
size_t n, m;
double x;
std::cin >> n >> m;
auto res = std::make_shared(n, 0);
for (size_t i = 0; i < n; i++)
{
for (size_t j = 0; j < m; j++)
{
std::cin >> x;
res[i] += x > 0;
}
}
for (size_t i = 0; i < n; i++) std::cout
#include
#include
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector a(n, vector(m));
for (auto &row: a) {
for (auto &v: row) { cin >> v; }
}
vector b(a.size(), 0);
for (int i = 0; i < a.size(); ++i) {
for (auto v: a[i]) { b[i] += v > 0; }
}
for (auto v: b) { cout
Язык указывать надо, а то не понятно Си или C++
/* программа на языке Си */
#include
#include
#include
int main()
{
int n,m,**a,*q,x,y;
do
{
printf("Kolichestvo strok = ");
scanf("%d", &n);
if(n < 1) printf("n > 0\n");
}while(n < 1);
do
{
printf("Kolichestvo stobcov = ");
scanf("%d", &m);
if(m < 1) printf("m > 0\n");
else if(n == m) printf("n != m\n");
}while(m < 1 || m == n);
a = (int**) malloc(sizeof(int*) * n);
for(x = 0; x < n; x++)
a[x] = (int*) malloc(sizeof(int) * m);
q = (int*) malloc(sizeof(int) * n);
srand(time(NULL));
for(x = 0; x < n; x++)
{
q[x] = 0;
for(y = 0; y < m; y++)
{
a[x][y] = rand() % 41 - 20; /* [-20;20] */
printf("%d\t",a[x][y]);
if(a[x][y] > 0) q[x]++;
}
putchar('\n');
}
putchar('\n');
for(x = 0; x < n; x++)
printf("%d\n", q[x]);
putchar('\n');
if(q == (int*) NULL) exit(1);
free(q);
q = (int*) NULL;
if(a == (int**) NULL) exit(1);
for(x = 0; x < n; x++)
{
if(a[x] == (int*) NULL) exit(1);
free(a[x]);
a[x] = (int*) NULL;
}
free(a);
a = (int**) NULL;
return 0;
}
Не вижу ничего сложного в задании.
Нужно просто пройтись циклом по двумерному массиву, для этого можно использовать внешний цикл для обхода строк, а внутренний цикл для обхода столбцов двумерного массива, и в теле этого цикла нужно задать условие, если данный элемент массива содержит положительное значение, то нужно добавить это значение к созданному пустому массиву.
Нужно просто пройтись циклом по двумерному массиву, для этого можно использовать внешний цикл для обхода строк, а внутренний цикл для обхода столбцов двумерного массива, и в теле этого цикла нужно задать условие, если данный элемент массива содержит положительное значение, то нужно добавить это значение к созданному пустому массиву.
Похожие вопросы
- Помогите написать программу по этому условию
- Помогите написать программу на С
- Помогите написать программу на C++
- Помогите написать программу на с++
- Помогите написать программу на с++
- Помогите написать программу
- Помогите написать программу на С++
- С++. Структуры(struct). Помогите написать программу
- Помогите написать программу на С++
- Пожалуйста, помогите написать программу на С++
auto res = std::make_shared<size_t[]>(n, 0);