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

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

Войти
Регистрация
Восстановить пароль
 
Анчита
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 4
#1

Вычислить суммы элементов столбцов матрицы - C++

30.12.2009, 00:23. Просмотров 314. Ответов 1
Метки нет (Все метки)

Помогите доработать программу,условие такое :Задана прямоугольная матрица В размера m*n.Вычислить суммы элементов столбцов,номера которых определяются номерами положительных элементов заданного вектора.
Вот что имеется из текста,но не правильно работает...


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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <conio.h>
 
const unsigned M=10,N=10;
 
void Inp(int A[M][N],int &a,int &b, fstream &f)
{
 char s;
 int i,j;
 a=0;
 b=N;
 i=0;
 j=0;
 while(1)
 {
  f>>s;
  if(f.eof())
  {
   break;
  }
  while((s==' ')&&(s!='\n')&&(f.eof()==0))
  {
   f>>s;
  }
  if((s=='\n')||(f.eof())||(j==b))
  {
   if(!(j==0))
   {
    if(j<=b)
    {
     b=j;
     j=0;
    }
    i++;
   }
  } else
  {
   f.seekg(-1,ios::cur);
   f>>A[i][j];
   j++;
  }
  if(i==M)
  {
   break;
  }
 }
 a=i;
}
 
void OutA(int A[M][N],int &a,int &b)
{
 int i,j;
 i=0;
 j=0;
 cout<<'\n';
 while(i<a)
 {
  while(j<b)
  {
   cout<<A[i][j]<<' ';
   j++;
  }
  j=0;
  i++;
  cout<<'\n';
 }
 cout<<'\n';
}
const unsigned V=10;
 
void vvod(int A[V],int *i,fstream &F1)
{
if (F1.bad()!=0){cout<<"oshibka";}
while (1)
{
F1>>A[*i];
if (F1.eof())break;
*i=*i+1;
if(*i==V)break;
}
}
void schet (int i,int A[],int m, fstream *F)
{
while(1)
{
if(m==i)break;
if(A[m]==i) {m++;} else {*F<<A[m]<<" "; m++;}
 }
 }
void perebor (int i,int j,int k,A[N])
i=0;
j=0;
k=0;
while (i<N)
 {if (B[i]>0)
   {
 C[j][k]=A[j][(B[i])];
 i++;
 }
 k++;
 j=0;
 }
 i++;
 
 
 
int summa (int i,int  j,int z,sum)
 {
 int sum,n,m,k[m],i,j,z;
 for (j=0;j<m);j++);
 {
 k[j]=0;
    for (i=0;i<n;i++)
 { if (p[i][j],o)
 {k[j]=1;
 }
 }
}
for (j=0;j<m;j++){
  sum=0;
   for(i=0;i<n;i++)
    if (k[j]==1)
  {
  sum=sum+A[i][j];
  z=j+1;
  }
  cout<<"Summa elementov"<<z<<"-ogo stolbca ravna"<<setw(8)
               <<sum<<"\n";
                       }
 
 
void OutB(int B[][],int &o,int &a,int &b,fstream *f)
{
 int i;
 i=0;
 if(o<(a*b/3))
 {
  while(i<o)
  {
   *f<<B[i][0]<<' '<<B[i][1]<<' '<<B[i][2]<<'\n';
   cout<<B[i][0]<<' '<<B[i][1]<<' '<<B[i][2]<<'\n';
   i++;
  }
 }
}
 
void main()
{
 clrscr();
 int A[M][N];
 int B[M][N];
 int a,b,o;
 int *i,*j;
 cout<<"Avtor - Tsariova Anna\n"
          <<"Versia - 1";
 fstream f;
 f>>resetiosflags(ios::skipws);
 f.seekg(+0,ios::beg);
 if (f.bad()!=0)
 {
  cout<<"oshibka otkritija";
 }
 f.open("in.txt",ios::in);
 fstream F;
 Inp(A,a,b,f);
 F.open("out.txt",ios::out);
 OutA(A,a,b);
 Change(A,B,a,b,o);
 OutB(B,o,a,b,&F);
 F.close();
 f.close();
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2009, 00:23     Вычислить суммы элементов столбцов матрицы
Посмотрите здесь:

Вычислить суммы элементов столбцов матрицы - C++
имеется матрица. вычислить суммы элементов столбцов. для вычисления суммы одного столбца использовать функцию.

Вычислить суммы элементов столбцов матрицы, используя функцию - C++
Есть задача, вычислить суммы элементов столбцов матрицы, используя функцию. Я написала программу, которая работает для матрицы 3х3, но мою...

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

Отсортировать столбцы матрицы по возрастанию суммы элементов столбцов - C++
Помогите найти ошибку! Почему-то не работает.. Дано двумерный массив. Разместить его столбцы таким образом, чтобы суммы значений...

Задача на матрицы. Найти суммы элементов всех четных и нечётных строк и столбцов - C++
Т.е. иными словами нужно найти суммы элементов в каждой чётной и нечётной строке. И также в каждом чётном и нечётном столбце. Помогите,...

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы - C++
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех столбцов введенной матртцы, сумма которых...

Вычислить вектор с наименьших положительных элементов столбцов матрицы - C++
Не выходит у меня =(, нужно найти вектор наименьших положительных элементов столбцов матрицы. #include &lt;iostream&gt; using namespace...

Вычислить суммы элементов по столбцам матрицы - C++
Не могу дописать, выходит только сумма всего массива. Как сделать чтоб считала по столбикам? #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

Вычислить суммы элементов по строкам матрицы - C++
/*Дана матрица B размером 54. Составить программу формирования вектора, элементы которого равны сумме элементов строк (столбцов) матрицы...

Вычислить суммы элементов каждой строки матрицы - C++
как сделать, чтобы выводило номер строки матрицы, и возле него сумму положительных елементов этой строки? #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
30.12.2009, 14:00     Вычислить суммы элементов столбцов матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Даю наводку:
У Вас в программе описаны функции:
C++
1
2
3
4
5
6
7
void Inp(int A[M][N],int &a,int &b, fstream &f)
void OutA(int A[M][N],int &a,int &b)
void vvod(int A[V],int *i,fstream &F1)
void schet (int i,int A[],int m, fstream *F)
void perebor (int i,int j,int k,A[N])
int summa (int i,int  j,int z,sum)
void OutB(int B[][],int &o,int &a,int &b,fstream *f)
больше половины которых вы даже не используете, но зато вызываете функцию
C++
1
Change(A,B,a,b,o);
которой у Вас нет.
Yandex
Объявления
30.12.2009, 14:00     Вычислить суммы элементов столбцов матрицы
Ответ Создать тему
Опции темы

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