4 / 4 / 0
Регистрация: 28.04.2019
Сообщений: 265
1

Программа выдает ошибку памяти, не могу понять в чем проблема

15.02.2021, 19:01. Показов 355. Ответов 1
Метки нет (Все метки)

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
#include <stdlib.h>
#include <stdio.h>
#include <ctime>
 
 
bool f(int mas[3][3], const int N, const int G)
{
    int diag1 = 0, diag2 = 0, fRow = 0, sum = 0;
 
    for (int i = 0; i < N; i++) // заполнение массива
    {
        for (int j = 0; j < N; j++)
            mas[i][j] = rand() % 2;
    }
 
    for (int i = 0; i < N; i++) // нахождение суммы эл. первой строки для сравнения
                                             // и обе диагонали
    {                                  
        fRow  += mas[0][i];
        diag1 += mas[i][i];
 
            for (int j = 0; j < N; j++)
            diag2 += mas[i][N - 1 - i];
    }
 
    if (fRow != diag1 || diag2) // если суммы у диагоналей не равны сумме первой строки - return false;
        return false;
    
    for (int i = 0; i < N; i++) //нахождение суммы эл. у строк
    {
        for (int j = 0; i < N; j++)
            sum += mas[i][j];
 
        if (fRow != sum) // сравнение
            return false;
 
        sum = 0;
    }
 
    for (int i = 0; i < N; i++) //нахождение суммы эл. у столбцов
    {
        for (int j = 0; i < N; j++)
            sum += mas[j][i];
 
        if (fRow != sum) //сравнение
            return false;
 
        sum = 0;
    }
 
    return true;
}
 
int main()
{
    const int N = 3;
    int mas[N][N], k = 0;
 
    srand(time(0));
    while (f(mas, N, N) != true)
        k++;
 
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; i < N; j++)
            printf("%d ", mas[i][j]);
        
        printf("\n");
    }
    printf("кол-во генераций: %d", k);
        return 0;
}
Main() вызывает функцию, которая заполняет массив случайными числами и сравнивает строки, столбцы и диагонали, пока не получится магический квадрат. (матрица у которой все строки, диагонали и столбцы равны)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2021, 19:01
Ответы с готовыми решениями:

Выдает ошибку, а я не могу понять в чем проблема. В чем проблема, скажите пожалуйста!
dx=0.0005; epsillon=0.00002; i=0; for x= 0:0.0005:3 i=i+1; if x&lt;1 y (i)=-1; ...

Выдает ошибку, и я вообще не могу понять в чем дело
Вот программа ниже ( не до конца еще доделал) пишет ошибку вот в это месте : // Player...

Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема
При х=3, y= -6 после выполнения фрагмента алгоритма 1. если y&lt;x, то y=y+x 2.если y&lt;0, то y=-y...

Не могу понять почему выдает ошибку. Подскажите в чем не прав, код прилагаю ниже
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;map&gt; using namespace std; class Person{...

1
6575 / 4560 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
15.02.2021, 19:11 2
Цитата Сообщение от LudeiViktorovi4 Посмотреть сообщение
Программа выдает ошибку памяти, не могу понять в чем проблема
Цитата Сообщение от LudeiViktorovi4 Посмотреть сообщение
for (int i = 0; i < N; i++) //нахождение суммы эл. у строк
    {
        for (int j = 0; i < N; j++)
            sum += mas[i][j];
for (int j = 0; j < N; j++)

Добавлено через 37 секунд
Цитата Сообщение от LudeiViktorovi4 Посмотреть сообщение
for (int i = 0; i < N; i++) //нахождение суммы эл. у столбцов
    {
        for (int j = 0; i < N; j++)
Здесь тоже

Добавлено через 31 секунду
Цитата Сообщение от LudeiViktorovi4 Посмотреть сообщение
for (int i = 0; i < N; i++)
    {
        for (int j = 0; i < N; j++)
            printf("%d ", mas[i][j]);
И здесь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2021, 19:11
Помогаю со студенческими работами здесь

почему где подчеркнуто выдает ошибку,понять не могу(программа не дописана)
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(...

Не могу понять в чем дело,выдает ошибку [Warning] Unit1.pas(90): For loop control variable must be simple local variable
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Структура: Не могу понять, почему выдает ошибку и как собственно эту ошибку можно исправить?
Привет,не могу понять почему ошибку выдает и как сбстно эту ошибку можно исправить? #include...

Выдает ошибку. Не могу понять
Вот исходник. В самом исходнике вроде нет ошибок. Но при компиляции выдает ошибку #include...

функция выдает ошибку. немогу понять в чем дело.
Здравствуйте. написал программу автопатчер. вот код unit Unit1; interface uses Windows,...

Есть программа, но при при вызове одной функции из main Visual Studio показывает ошибку. Не могу понять в чём дело
#include&lt;iostream&gt; #include&lt;vector&gt; using namespace std; struct Basket { int made; int...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru