• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Помогите найти ошибку в программе С++

  • Автор темы Автор темы bini1988
  • Дата начала Дата начала
B

bini1988

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

C++:
// Task1.2.18.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <time.h>


using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

srand((unsigned) time(NULL));

int my = (int) ((float) rand() / RAND_MAX * 10 ); //Строк
int mx = (int) ((float) rand() / RAND_MAX * 10 ); //Столбцов

cout << "Array [" << my << "][" << mx << "]:" << endl;

float sum = 0;

float * mas;

if (mas = new float[my * mx])
{
cout << "Good!" << endl;
}



for(int i = 0; i < my; i++)
for(int j = 0; j < mx; j++)
{
mas[i * my + j] = (float) ((float) rand() / RAND_MAX + 0);
sum = sum + mas[i * my + j];
}

/*С это момента программа вылетает*/

for(int i = 0; i < my; i++)
{
for(int j = 0; j < mx; j++)
cout << mas[i * my + j] << " ";

cout << endl;
}


cout << "sum: " << sum << endl;


delete [] mas;

getchar();
getchar();

return 0;
}

В результате программа выдает ошибку:

Windows has triggered a breakpoint in Task1.2.18.exe.

This may be due to a corruption of the heap, which indicates a bug in Task1.2.18.exe or any of the DLLs it has loaded.

This may also be due to the user pressing F12 while Task1.2.18.exe has focus.

The output window may have more diagnostic information.

В чем ошибка?
 
мда, мертвый форум, ошибку я уже нашел так что всем спасибо кто хоть краем глаза глянул =)

C++:
for(int i = 0; i < my; i++)
{
for(int j = 0; j < mx; j++)
cout << mas[i * mx + j] << " ";

cout << endl;
}
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab