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

Главное диагональ массива - C++

Восстановить пароль Регистрация
 
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
18.05.2010, 22:18     Главное диагональ массива #1
Задание найти суму чисел главной диагонали массива. (квадратный массив).
C++
1
2
3
4
5
6
7
8
9
10
template <class type>void summ(type **b,type n)
{
type a,sum,i,j;
cout<<endl;
for (i=0;i<n;i++)  {
for (j=i;j<n;j++)
{
sum+=b[i][j];}}
cout<<endl<<"Suma ="<<sum;  }
....
Верно же сделал?? при размерности 3 сумму считает верно, а при размерности 4 и выше уже нет, почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
18.05.2010, 22:19     Главное диагональ массива #2
Вот вариант, где попроще будет:
C++
1
2
for (int i=0; i<size; i++)
    sum+=MAS[i][i];
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
18.05.2010, 22:24  [ТС]     Главное диагональ массива #3
neske, не проще) не верно так выходит
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
18.05.2010, 22:25     Главное диагональ массива #4
Что не верно то?)
Значит у вас с остальным кодом не то что-то.
Выложите его.
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
18.05.2010, 22:31  [ТС]     Главное диагональ массива #5
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#ifndef mass_h
#define mass_h1
#include <iostream.h>
#include <conio.h>
template <class type>
class Mass
{
private:
float **itsPMass;
float itsSize;
public:
Mass();
~Mass();
void SetSize(int size){itsSize=size;}
void SetMassEL(float x0, float y0,float el){itsPMass[x0][y0]=el;}
float GetSize()const{return itsSize;}
float GetMassEL(float x1, float y1)const {return itsPMass[x1][y1];}
 
void summ(float,float);
};
#endif
 
#include "C:\7\7.h"
template <class type>
Mass<type>::Mass()
{
float i,j;
itsSize=100;
itsPMass=new float *[itsSize];
for(i=0;i<itsSize;i++)
itsPMass[i]=new float[itsSize];
}
template <class type>
Mass<type>::~Mass()
{
float i,j;
for(i=0;i<itsSize;i++)
delete[]itsPMass[i];
delete[]itsPMass;
}
template <class type>void summ(type **b,type n)
{
type a,sum,i,j;
cout<<endl;
for (i=0;i<n;i++)  {
for (j=i;j<n;j++)
{
sum+=b[i][j];}}
cout<<endl<<"Suma ="<<sum;  }
 
 
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include "C:\7\7.cpp"
void main()
{Mass<float>*PObject=new Mass<float>;
float i,j;
float n;
float **el;
float sum;
char ch;
clrscr();
cout<<"Size->";
cin>>n;
PObject->SetSize(n);
metka1:clrscr();
cout<<endl<<"1-Randomize";
cout<<endl<<"2-User";
cout<<endl<<"Pliz Enter 1 or 2"<<endl<<"==>";
cin.get(ch);
switch (ch)
{
case'1':
{
randomize();
for(i=0;i<PObject->GetSize();i++)
for(j=0;j<PObject->GetSize();j++)
{
el[i][j]=random(10);
PObject->SetMassEL(i,j,el[i][j]);
}
break;
}
case'2':
{
for(i=0;i<PObject->GetSize();i++)
for(j=0;j<PObject->GetSize();j++)
{cout<<endl<<"Enter element ["<<i<<"]["<<j<<"]=";
cin>>el[i][j];
PObject->SetMassEL(i,j,el[i][j]);
}
break;
}
default:
{
cout<<endl<<"Enter only 1 or 2";
goto metka1;
}
}
for(i=0;i<PObject->GetSize();i++)      {
for(j=0;j<PObject->GetSize();j++)
{
cout<<PObject->GetMassEL(i,j)<<" ";}
cout<<endl;}
summ(el,n);
getch();
}
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1761 / 984 / 60
Регистрация: 29.03.2010
Сообщений: 2,975
18.05.2010, 22:33     Главное диагональ массива #6
Зачёт девушке, пол часа сам я не за компом,а с телефона
Тема не моя, так что не пугайтесь :-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2010, 23:13     Главное диагональ массива
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119
18.05.2010, 23:13  [ТС]     Главное диагональ массива #7
нето)

Добавлено через 33 минуты
Ну что?)
Yandex
Объявления
18.05.2010, 23:13     Главное диагональ массива
Ответ Создать тему
Опции темы

Текущее время: 20:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru