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

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

Восстановить пароль Регистрация
 
Анчита
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 4
30.12.2009, 00:23     Вычислить суммы элементов столбцов матрицы #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++
Вычислить вектор с наименьших положительных элементов столбцов матрицы C++
C++ Сформировать суммы элементов строк матрицы и суммы элементов столбцов матрицы
Вычислить суммы элементов каждой строки матрицы C++
C++ Вычислить суммы элементов столбцов матрицы, используя функцию
C++ Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы
Задача на матрицы. Найти суммы элементов всех четных и нечётных строк и столбцов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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     Вычислить суммы элементов столбцов матрицы
Ответ Создать тему
Опции темы

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