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

Массив: Определить количество строк, содержащих хотя бы один отрицательный элемент...

03.12.2016, 10:47. Просмотров 266. Ответов 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
void Init_mas(int m, int *x)
{
      cout<<"Введите массив:\n";
      for(int i=0; i<m; i++)
      {
        cout<<"строка[“<<i<<”] = "; cin>>x[i];
      }
}
 
int Otr_el(int m, int *x)
{
      int i=0;
      while (i<m && x[i] >= 0) i++;
      if(i<m) return 1; else return 0;
}
 
int Summa_el(int m, int *x)
{
     int s=0; 
     for(int i=0;i<m;i++)
     {
       if(x[i] >=0)s+=x[i];
    cout<<" "<<x[i];
     }
     return s;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL,"Russian");
      int **a;
      int i, n, m,k=0,p=-1,s=-1; 
      cout<<"Введите количество строк массива: "; cin>>n;
      cout<<"Введите количество столбцов массива: "; cin>>m;
      *a=new int[n]; 
      for(i=0;i<n;i++)
        {
            a[i]= new int[m];
            Init_mas(m,a[i]);
        };
     for(i=0;i<n;i++)
        {
            if( Otr_el(m,a[i]) ) k++;
            int q= Summa_el(m,a[i]);
            cout<<"\n";
            if(s < q)
                {
                    p=i; 
                    s=q;
                }
        }
     cout<<"1) Количество строк содерж. Хотя бы отр. эл массива :"<<k<<endl;
     if(p>=0) cout<<"2) строка  с  наиб. суммой  элементов :"<<p<<endl;
     else cout<<"\nСтрок с положительными элем. нет.\n";
     for(i=0;i<n;i++) 
     delete(a[i]); 
     delete (*a);
     _getch();
     return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2016, 10:47
Ответы с готовыми решениями:

Двумерный массив: определить количество столбцов, содержащих хотя бы один отрицательный элемент.
Работа с двумерным динамическим массивом. Для целочисленного двумерного массива (размерность...

Определить количество столбцов матрицы, содержащих хотя бы один отрицательный нечетный элемент
Дана целочисленная прямоугольная матрица. Написать следующие подпрограммы: 1. Определить...

Определить количество строк, содержащих хотя бы один нулевой элемент
Здравствуйте, дорогие форумчане. На предмете программирования задали написать программу по...

Определить количество строк, содержащих хотя бы один нулевой элемент
Всем привет, не могу разобраться. Есть пример нахождения первой из строк, которая содержит ноль....

Определить количество строк, содержащих хотя бы один нулевой элемент
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, содержащих хотя бы...

2
erok
12 / 12 / 7
Регистрация: 11.09.2016
Сообщений: 28
Завершенные тесты: 1
03.12.2016, 11:00 2
C++
1
2
3
      a = new int*[10];
      for (int i = 0; i < 10; ++i)
          a[i] = new int[10];
Вот так следует выделять память

C++
1
2
3
     for(i=0;i<n;i++) 
         delete[](a[i]); 
     delete[](a);
А так освобождать
1
Даценд
Модератор
Эксперт .NET
5079 / 4328 / 2804
Регистрация: 20.04.2015
Сообщений: 7,794
03.12.2016, 11:05 3
ylali,
1) Ошибка при создании массива. Нужно
C++
41
a=new int*[n];
2) и при освобождении памяти. Нужно
C++
61
62
63
for(i=0;i<n;i++) 
    delete[] a[i]; 
delete []a;
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2016, 11:05

Определить количество строк матрицы, содержащих хотя бы один нулевой элемент
Вот есть задача: Данная целочисленная прямоугольная матрица. определить  количество строк,...

Определить количество строк матрицы, содержащих хотя бы один нулевой элемент
Нужно было написать такую вот программу Дана целочисленная прямоугольная матрица. Определить...

Определить количество строк матрицы, содержащих хотя бы один нулевой элемент
приветствую) в общем надо срочно плз решить тему): Дана целочисленная квадратная матрица. 1....


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

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

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