Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
52 / 51 / 19
Регистрация: 22.03.2009
Сообщений: 173
1

программа неправильно считает

15.11.2009, 22:16. Просмотров 704. Ответов 1
Метки нет (Все метки)

Здравствуйте написал программу но она считает неправильно кол-во столбцов либо не считает вовсе.

Предполагаю что нужно что то менять в перемемнной k, но игрался с разными её положениями в процедуре ничего не помогло.

Подскажите плз в чем ошибка ? зарание благодарен

Вот сама задача: Посчитать сумму отрицательных элементов в каждом столбце матрицы
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
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <conio.h>
const int nElem = 20;
struct Massiv_2{int Rows, Cols; float array2[nElem][nElem];};
struct Massiv_1{int Cols; float array1[nElem];};
// Прототипы функций:
Massiv_2 init(int m, int n);        // инициализация двухмерного массива;
void out2(Massiv_2 mas2);   // вывод элементов двухмерного массива;
Massiv_1 sum_minus_in_cols (Massiv_2 mas2); // суммы модулей в строках;
void out1(Massiv_1 mas1);   // вывод элементов одномерного массива.
 
void main(void)
{
clrscr(); randomize();
int M, N;
cout<<"Rows "<<"(<="<<nElem<<"): ";cin>>M;
cout<<"Cols "<<"(<="<<nElem<<"): ";cin>>N;
Massiv_2 m2= init(M,N);
out2(m2);
Massiv_1 m1 = sum_minus_in_cols(m2);
out1(m1);
getch();
}
 
// Объявление функций.
Massiv_2 init(int m, int n)
{Massiv_2 mas2; mas2.Rows = m; mas2.Cols = n;
for(int i = 0; i < m; i++)
  for(int j = 0; j < n; j++)
   mas2.array2[i] [j] = (float)(random(30) - 15) / 10;
return mas2;
}
 
void out2(Massiv_2 mas2)
{for(int i = 0; i < mas2.Rows; i++)
  {for(int j = 0; j < mas2.Cols; j++)
        cout << setprecision(2) << setw(5) << mas2.array2[i] [j];
  cout<<"\n";
  }
}
 
Massiv_1 sum_minus_in_cols(Massiv_2 mas2)
{
Massiv_1 mas1;
float S;
int k=-1;
mas1.Cols = mas2.Rows;
for(int i = 0; i<mas1.Cols; i++) mas1.array1[i] = 0;
for(int i=0; i < mas2.Cols; i++)
  {
 
    S=0;
    for(int j = 0; j<mas2.Rows; j++)
     {   ++k;
      if (mas2.array2[i][j] < 0)
       {
 
        mas1.array1[k] += mas2.array2[i][j];
       }
     }
  }
return mas1;
}
 
void out1(Massiv_1 mas1)
{cout<<"\n";
for(int i = 0; i < mas1.Cols; i++)
  cout << setprecision(2) << setw(5) << mas1.array1[i];
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2009, 22:16
Ответы с готовыми решениями:

Программа неправильно считает
Программа считает х и у неправильно, и при изменении формул в коде выдаёт одни и те же значения ...

Программа неправильно считает
Я тут написал малюсенькую программу на С++ и к моему удивлению установил, что считает результат эта...

программа неправильно считает
фрагмент кода a1 = 0.5*(((x*x) - (x*x))*f_x + ((x*x)-(x*x))*f_x + ((x*x)-(x*x))*f_x); a2 =...

Программа неправильно считает
Здравствуйте. Объясните пожалуйста такой парадокс. Ниже привожу решение одной из задач из книги...

1
4849 / 3270 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
16.11.2009, 04:13 2
M и N просто созданы и всё

вместо
C++
1
struct Massiv_2{int Rows, Cols; float array2[nElem][nElem];};
C++
1
2
3
4
struct Massiv_2 {
    int Rows, Cols;
    float array2[nElem][nElem];
};
при ошибке в какой-нибудь строке уходит допольнительное время на то, чтобы определить в каком именно операторе ошибка (во время компиляции),
поэтому общепринято писать: один оператор - одна строка
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2009, 04:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Программа неправильно считает напряжение (U)
#include&lt;locale.h&gt; #include&lt;conio.h&gt; #include&lt;time.h&gt; #include&lt;stdlib.h&gt; #include&lt;iostream&gt;...

Программа неправильно считает длину вектора
Привет! Программа неправильно считает длину вектора, хотя ошибки не вижу. вот код: (само задание:...

Почему программа неправильно считает сумму?
Вот задание: http://cs628818.vk.me/v628818636/23176/6LFbXBEOAPQ.jpg Вот код: #include...

Программа без синтаксических ошибок, но иногда считает неправильно
Здравствуйте помогите пожалусто мене новичку разобраться в чом ошибка . Условие : Игра «кубики»....

Коллеги,в программе должно считать выделенные элементы. Считает программа неправильно(должно быть 69.Подскажитегдеошибка
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; const int...

С++ неправильно считает
Здраствуйте Вот часть программы: main(){ float a,b,c,d,hx,hy,x,y,f; int n; clrscr();...


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

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

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