Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
гапуся
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 7
#1

Посчитать количество отрицательных элементов выше главной диагонали - C++

17.12.2013, 01:11. Просмотров 370. Ответов 9
Метки нет (Все метки)

Дана задача: Посчитать количество отрицательных элементов выше главной диагонали матрицы размером nxn. Я вот написала кое что, но считает она неправильно. Я новичек, по дскажите где ошиблась?

// lab5.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#pragma hdrstop
#include "conio.h"
#include "stdio.h"
#include "iostream"
#include "stdlib.h"
#include "iomanip"
#include <math.h>
using namespace std;




int _tmain(int argc, _TCHAR* argv[])
{
double **a, tmp;
int i, j, n;
cout<<"Vvedite razmer n:";
cin>>n;
a= new double*[n];
for (i=0; i<n; i++)
a[i]=new double[n];
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{cout<<"Vvedite a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];}
cout<<"Massiv A:"<<endl;
for (i=0; i<n; i++)
{for (j=0; j<n; j++)
cout<<setw(9)<<a[i][j]<<" ";
cout<<endl;}
for (i=0; i<n; i++)
for (j=0; j<n; j++)
if (i+j<n+1)
{int count=0;
for (i=0; i<n; i++)
if(a[i][j] < 0)
++count;
cout<<endl;

cout << "The quantity of the negative elements is: " << count << endl;}
for (i=0; i<n; i++)
delete[] a[i];
delete[]a;
a=NULL;
system("pause");


return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 01:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать количество отрицательных элементов выше главной диагонали (C++):

Определить количество отрицательных элементов расположенных выше главной диагонали - C++
Определить количество отрицательных элементов расположенных выше главной диагонали

Определить количество отрицательных элементов, расположенных выше главной диагонали матрицы - C++
Ребят, помогите!!! Необходимо определить количество отрицательных элементов, расположенных выше главной диагонали матрицы мxn. Кое что я...

В матрице посчитать сумму четных элементов выше главной диагонали - C++
Помогите пожалуйста!!! Задание такое: В матрице подсчитать сумму четных элементов выше главной диагонали, если она делится на 3,то...

Посчитать сумму элементов в матрице выше главной диагонали, включая и ее - C++
Дана матрица 3х3, нужно посчитать сумму элементов выше главное диагонали, включая диагональ #include &lt;stdio.h&gt; #include &lt;stdafx.h&gt; ...

Найти число отрицательных элементов в области выше главной и ниже побочной диагонали - C++
В квадратной матрице а (7,7) найти число отрицательных элементов в области выше главной и ниже побочной диагонали. Поменять местами...

Нужна блок схема к задаче - посчитать сумму элементов выше главной диагонали матрицы 5х5 - C++
нужно составить блок схему к задаче: посчитать сумму элементов выше главной диагонали матрицы 5х5. Заранее благодарен!

9
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
17.12.2013, 06:37 #2
вместо этого
C++
1
2
3
4
5
6
7
for (i=0; i<n; i++)
for (j=0; j<n; j++)
if (i+j<n+1)
{int count=0;
for (i=0; i<n; i++)
if(a[i][j] < 0)
++count;
вставь вот это
C++
1
2
3
4
5
6
7
int count = 0;
for (i=0; i<n; i++){
for (j= i + 1; j<n; j++){
if(a[i][j] < 0)
count ++;
}
}
1
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 06:56 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <functional>
 
using namespace std;
 
int main()
{
    const int n = 5;
    int a[n][n];
    int res = 0;
    
    for (int i = 0; i < n; ++i) {
        res += count_if(a[i], a[i]+n-i, bind1st(greater<int>(), 0));
    }
    
    cout << "Result: " << res << endl;
   
    return 0;
}
Выделяя кусок памяти под массив и не инициализируя его, значения элементов массива будут соответствовать значениям блоков памяти, т.е. будут псевдослучайными.
0
гапуся
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 7
17.12.2013, 14:40  [ТС] #4
Цитата Сообщение от гапуся Посмотреть сообщение
a[i]=new double[n];
а это не инициализация?
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
17.12.2013, 14:50 #5
Цитата Сообщение от гапуся Посмотреть сообщение
а это не инициализация?
только отведение памяти
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 14:55 #6
гапуся, RaiaNKnight, и инициализация аля случайными значениями. В отличии от std::vector при выделении блока памяти он не инициализируется стантартными значениями как это делает вектор.
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
17.12.2013, 14:59 #7
Цитата Сообщение от outoftime Посмотреть сообщение
гапуся, RaiaNKnight, и инициализация аля случайными значениями. В отличии от std::vector при выделении блока памяти он не инициализируется стантартными значениями как это делает вектор.
да, отведение памяти под объект вроде включает же в себя автоматические присвоение ему случайного значения.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
17.12.2013, 15:02 #8
RaiaNKnight, не присвоение случайного значения а выделение блока памяти который имел какое-то значение.
0
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
17.12.2013, 15:03 #9
Цитата Сообщение от outoftime Посмотреть сообщение
RaiaNKnight, не присвоение случайного значения а выделение блока памяти который имел какое-то значение.

Не по теме:

оговорился я

0
гапуся
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 7
17.12.2013, 17:07  [ТС] #10
Спасибо!!! Работает, только выводит почему-то строку "The quantity of the negative elements is: " выводит n раз, то есть если размер матрицы 2, 2 раза, если 5 , то соответственно 5 раз. Не подскажите почему?
0
17.12.2013, 17:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 17:07
Привет! Вот еще темы с ответами:

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

Определить количество отрицательных элементов выше и ниже диагонали - C++
Дана квадратная вещественная матрица. Определить отдельно количество k1 отрицательных элементов, расположенных выше главной диагонали, и...

Найти количество нулевых элементов, расположенных выше главной диагонали - C++
Дано квадратну дійсну матрицю розмірності n. Знайти кількість нульових елементів, що розміщені вище головної діагоналі. Дано...

Подсчитать количество элементов матрицы, лежащих выше главной диагонали - C++
В двумерном массиве подсчитать количество элементов лежащих выше главной диагонали.


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

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

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