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

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

Войти
Регистрация
Восстановить пароль
 
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 57
#1

Программа не работает - C++

22.11.2010, 15:47. Просмотров 265. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста, лабу не могу защитить, программа компилируется нормально, но при решении самой задачи возникают ошибки, непонятные мне...
Составить программу, которая получает матрицу В размером m *n и два числа i<m и j<m. Если матрица в каждой четной строке имеет положительную сумму элементов, то программа формирует новую матрицу, меняя местами элементы строки с номером i на элементы строки с номером j исходной матрицы В.
В задании также было сказано, что надо создать отдельную функцию для ввода, для вывода, для анализа первого массива и создания другого. У меня получилось так:
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
#include <iostream>
using namespace std;
int const n=5;
int const m=5;
bool function_1 (float B[n][m]);
void function_2 (float B[n][m] , int, int);
void input (float B[n][m] );
void output (float B[n][m], float newB[n][m]);
bool repeat (void);
void main (void)
{
        do
        {
        int i, j;
        cout << "Input i: ";
                cin >> i;
        cout << "Input j: ";
                cin >> j;
float B[n][m];
input(B);
  
        if (function_1(B))
                function_2(B, i, j);
        else 
                cout << "There is no nessesity to create a new file";
        } while (repeat());
}
bool repeat (void)
{
        char symbol;
        cin >> symbol;
        if ((char)tolower(symbol) == 'y')
                return 1;
        else 
                return 0
}
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
#include <iostream>
using namespace std;
int const n=5;
int const m=5;
void input (float B[n][m])
{
        cout <<  "Input elements of file\n";
        for (int str=0; str<n; str++)
        {
 
                for (int stl=0; stl<m; stl++)
                {
                        cin >> B[str][stl];
                }
        }
}
void output (float B[n][m], float newB[n][m])
{
        cout <<  "\nn Old file\n";
        for (int str=0; str<n; str++)
        {
 
                for (int stl=0; stl<m; stl++)
                {
                        cout << B[str][stl] << "\n";
                }
        }
        cout << "\n\nNew file\n";
        for (int str=0; str<n; str++)
        {
 
                for (int stl=0; stl<m; stl++)
                {
                        cout << newB[str][stl] << "\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
int const n=5;
int const m=5;
bool function_1 (float B[n][m])
{
        float sum, k;
        int count=0;
        for (int str=0; str<n; str++)
        {
                sum=0;
                if ((str+1)%2==0)
                {
                for (int stl=0; stl<m; stl++)
                {
                        sum+=B[str][stl];
                }
                if (sum>0)
                        count++;
                }
        }
if (n%2==0)
{
        if (count==n/2)
                return 1;
}
 
else 
{
        if(count==(n-1)/2)
                return 1;
        else 
                return 0;
}
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int const n=5;
int const m=5;
void output (float B[n][m], float newB[n][m]);
void function_2 (float B[n][m], int i, int j)
{
        float newB[n][m], temp;
        for (int str=0; str<n; str++)
        {
 
                for (int stl=0; stl<m; stl++)
                {
                        newB[str][stl] = B[str][stl];
                }
        }
 
        for (int stl=0; stl<m; stl++)
                {
                        temp = newB[i][stl];
                        newB[i][stl]=newB[j][stl];
                        newB[j][stl]=temp;
                }
        output(B,newB);
}
Добавлено через 1 час 5 минут
Run-Time Check Failure #2 - Stack around the variable 'newB' was corrupted.
Вот такая ошибка вылезает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2010, 15:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа не работает (C++):

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

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

Программа работает в турбо си но не работает в дев си - C++
#include&lt;graphics.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;dos.h&gt; #define R &quot;C:\\TC\\bgi&quot; void...

Программа работает на Windows 7, но не работает на XP - C++
#include &lt;locale&gt; #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; int main () { std::string wont; size_t i; ...

Программа при релизе не работает, а при дебаге работает - C++
#include&lt;iostream&gt;; #include &lt;iomanip&gt; #include&lt;fstream&gt; using namespace std; void printMatrix (int **a, int n, int m) // функція...

программа не работает - C++
Заданы матрицы А и В третьего порядка. Переменной S присвоить -1, если максимальный элемент матрицы А больше максимального элемента матрицы...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2010, 15:47
Привет! Вот еще темы с ответами:

не работает программа - C++
помогите написать програмку на C++,вот задание &quot;Ввести с клавиатуры, и занести в матрицу А n*m чисел, затем найти сумму всех элементов...

Программа не работает - C++
Вроде написала задачу,она не работает,посмотрите пожалуйста... Добавлено через 15 секунд #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

Не работает программа - C++
Раньше я программировал на планшете, но сейчас попробовал в DEV-C++. Сделал программу, откомпилировал, пробую запустить, а окно программы...

Не работает программа - C++
Добрый вечер уважаемые форумчане, прошу вашей помощи. Определить, является ли целая квадратная матрица порядка n симметричной (относительно...


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

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

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