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

В чем ошибка? Массивы и функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись в текстовый файл http://www.cyberforum.ru/cpp-beginners/thread1206646.html
Здраствуйте. Нашёл небольшой кусочек кода в интеренете, который записывает текст в текстовый файл. Он работает. Вот код: #include <iostream> using namespace std; int main() { setlocale(0,""); // включаем кириллицу в консоли char * fileName = "C:\\example.txt"; // Путь к файлу для записи
C++ Не знаю как отметить точку пересечения Добрый день товарищи! Суть: Строим прямоугольник с центром xc yc. Высота h, ширина w. Строим линию из xc yc в x y. С этим проблем не возникло (код прилагается). А вот как мне Отметить точку их пересечения?! Я вообще в C++ мало понимаю. Помогите. http://www.cyberforum.ru/cpp-beginners/thread1206645.html
Перевести код с Java на C++ C++
import java.io.*; import java.util.*; public class main { public static class ant{ int k;
C++ Из двух текстовых файлов удалить строки, имеющие одинаковые номера, но не являющиеся одинаковыми
заданы два текстовых файла. удалить из этих файлов строки, имеющие одинаковые номера, но сами не являются одинаковыми. Результаты записать в новых файлов
C++ Перегрузка в c++ http://www.cyberforum.ru/cpp-beginners/thread1206631.html
Собственно для чего нужна перегрузка функций или операторов ?
C++ Как построить блок-схему к коду на с++ помогите, пожалуйста! как построить блок-схему к коду на с++? #include <stdio.h> #include <math.h> #include <iostream> #define abs(a) (((a)<0)?(-(a)) : (a)) // визначає ідентифікатор і послідовність символів, яка буде підставлятися замість ідентифікатора кожен раз, коли він зустрінеться у вихідному файлі int m,n,xb,yb,xe,ye; char s; void calc() подробнее

Показать сообщение отдельно
Dinamit95
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 16

В чем ошибка? Массивы и функции - C++

12.06.2014, 21:30. Просмотров 181. Ответов 4
Метки (Все метки)

Выкидывает из программы с комментарием: "AP_PZ5.exe вызвал срабатывание точки останова."
Ошибка явно возникает после прохождения всех функций, при том, что код выполняет поставленную задачу корректно, без искажений.
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
void entermas2f(int **mas2, int m, int n) // заполнение двумер масс
{
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) { 
            mas2[i][j] = rand() % 100 +  - 49;
        }
    }
    cout << "\nДвумерный массив заполнился\n";
}
 
void printmas2f(int **mas2, int m, int n) // вывод двумер масс на экран
{
    for (int i = 0; i < m; i++) {
        cout << "\nСтрока " << i + 1 << " :";
        for (int j = 0; j < n; j++) { cout << "\t" << mas2[i][j]; }
    }
    cout << "\nДвумерный массив выведен на экран\n";
}
 
void summas2f(int **mas2, int m, int n, int sum) {
    for (int ni = 0; ni < n; ni++)
        if (mas2[m - 2][ni] < 0 && (mas2[m - 2][ni] % 2 == 0))
            sum = sum + mas2[m - 2][ni];
    for (int ni = 0; ni < n; ni++)
        if (mas2[m - 1][ni] < 0 && (mas2[m - 1][ni] % 2 == 0))
            sum = sum + mas2[m - 1][ni];
    cout << "\nСумма отрицательных чисел двух последних строк = " << sum;
}
 
void entermas1f(int **mas2, int *mas1, int m, int n) {
    int a, r = 0;
    cout << "\nВведите число А:\t";
    cin >> a;
    for (int mi = 0; mi < m; mi++)
        for (int nj = 0; nj < n; nj++)
            if (mas2[mi][nj]>a) {
                mas1[r] = mas2[mi][nj];
                r++;
            }
    cout << "\nОдномерный массив заполнен элементами>А двумерного массива\n";
    
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Rus");
    int n, m;
    cout << "Введите количество\nстрок = \t";
    cin >> m;
    cout << "столбцов = \t";
    cin >> n;
 
    int **mas2 = new int*[m]; //Иниц двумер масс = мас2
    for (int i = 0; i < m; i++) 
        mas2[i] = new int[n];
    entermas2f(mas2, m, n); //заполн мас2
    printmas2f(mas2, m, n);//вывод мас2
 
    int *mas1 = new int, sum = 0;
    summas2f(mas2, m, n, sum); //сумма отриц четных чисел двух последн строк
    entermas1f(mas2, mas1, m, n); // мас1 из мас2 относительно А
    system("pause");
    return 0;
}

Заметил, если не входить в функцию summas2f, то такой шибки не слышно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru