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

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

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

Поместить в массив суммы элементов параллельных главной диагонали - C++

11.04.2013, 02:08. Просмотров 268. Ответов 2
Метки нет (Все метки)

Уже устал искать ошибку, он не выводит mas, что-то не так с while, а что не могу понять. Заранее спасибо за помощь.


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
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;
 
 
void Fun(int **matr, int n)
{
    int *mas=new int[2*n-2];
    int p=0;    
    while (p<2*n-2)
    {
    for(int i=0,j=1; i<n-1 && j<n; i++, j++)
    {
        mas[p]+=matr[i][j];
 
        if(j==n)
        {
            p++;
            i=-1;
            j=p;
        }
    }
    for(int i=1,j=0; i<n && j<n-1; i++, j++)
    {
        mas[p]+=matr[i][j];
 
        if(j==n-1)
        {
            p++;
            j=-1;
            i=p-n;
            
        }
    }
    }
    
 
    for(p=0;p<2*n-2;p++)
        cout<<mas[p]<<endl;
    delete []mas;
}
 
int main()
{
    int n;
    cout<<"Enter n"<<endl;
    cin>>n;
 
    int **matr = new int*[n];
 
    for (int i = 0; i<n; i++)
    {
        matr[i] = new int[n];
    }
 
    for (int i =0 ; i<n; i++, cout<<endl)
        for (int j =0 ; j<n; j++)
    {
        matr[i][j] = rand()%101-50;
        cout<<setw(3)<<matr[i][j]<<"  ";
    }
 
        Fun(matr,n);
    
        
        for (int i =0; i<n; i++)
    {
        delete []matr[i];
    }
        delete []matr;
 
        cin.get();
        cin.get();
        return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 02:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поместить в массив суммы элементов параллельных главной диагонали (C++):

Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной (начиная с одноэлементной диагонали A[1,M]) - C++
Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной (начиная с одноэлементной диагонали A)...

Дан целочисленный массив a(n,m). Упорядочить по неубыванию элементы на главной диагонали и диагоналях, параллельных ей. Перестановка элементов допуска - C++
Дан целочисленный массив a(n,m). Упорядочить по неубыванию элементы на главной диагонали и диагоналях, параллельных ей. Перестановка...

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

Составить вектор из сумм элементов диагоналей, параллельных главной диагонали - C++
Составить вектор из сумм элементов диагоналей, параллельных главной диагонали. Первый элемент вектора - верхний правый Вот мой код, всё...

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

Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
надо короче чтоб прога искала максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. У меня если квадратная...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
abit
263 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 730
11.04.2013, 02:25 #2
не это
C++
1
 if(j==n)
не это
C++
1
 if((j==n-1))
условия ни могут выполнится в принципе, так как инварианты обоих циклов задаются как j<n в первом и j<n-1

а у вас только по этим невыполнимым условиям увеличивается p

т.к. p не изменно, то и инвариант внешнего цикла будет постоянно истинным
C++
1
while (p<2*n-2)
Добавлено через 1 минуту
я так понимаю вам их надо заменить на
if(j==n-1) и if(j==n-2)

но в суть алгоритма я не вникал ) сами подумайте на что, почему это зацикливается я вам сказал
0
Skyl1995
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 7
11.04.2013, 03:02  [ТС] #3
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 03:02
Привет! Вот еще темы с ответами:

Найти максимум из сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
1.дана квадратная матрица целых чисел размера N. Найти максимум из сумм элементов диагоналей, параллельных главной диагонали матрицы с++

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

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

Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Народ!!! Скиньте кто-нибудь код, завтра сдавать уже!!!


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

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

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