Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2012, 10:19   #1
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию Двумерные Числовые Массивы

Здравствуйте. У меня возникла проблема с решением задачи. Мне нужно было написать программу на тему Двумерные Числовые Массивы я её написал вот, что получилось
Код:
#include "iostream"
#include "conio.h"
#include "time.h"

using namespace std;

int input()
{
    int m=10;
    while ((m>7)||(m<1)) {cout<<"m= :";cin>>m;}
    
    return m;
}

void form_mass(int** mass,int &m)
{
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<m; j++)
        {
            mass[i][j]=rand()%99;
        }
    }
}

void summ_mass(int** mass,int** mas,int &m)
{
    
    for (int j=0; j<m; j++)
    {    
        mas[j][0]=0; mas[j][1]=0;
        for (int i=0; i<m; i++)
        {
            int a,b;
            a=mass[i][j]/10;
            b=mass[i][j]%10;
            if (b==a) && (b!=0) {mas[j][0]++; mas[j][1] = mas[j][1] + mass[i][j];}
        }
    }
}

void output(int** mass, int** mas,int &m)
{
    cout<<"mas"<<endl;
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<m; j++)
        {
            cout<<mass[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<endl;
    cout<<"stol "<<"            k "<<"             sum "<<endl;
    for (int i=0; i<m; i++)
    {
            cout<<"  "<<i<<"              "<<mas[i][0]<<"              "<<mas[i][1]<<endl;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    srand ((unsigned) time(NULL));
    int m;
    m=input();
    
    int** mass;
    mass = new int* [m];
    for (int i=0; i<m; i++)
    {
        mass[i] = new int [m];
    }

    form_mass(&mass[0],m);
    int** mas;
    mas = new int* [m];
    for (int i=0; i<m; i++)
    {
        mas[i] = new int [2];
    }
    summ_mass(&mass[0],&mas[0],m);
    output(&mass[0],&mas[0],m);
    getch();
    return 0;
}
Но теперь нужно сделать её с использованием свободной памяти. Помогите пожалуйста. Заранее спасибо.

Задание.
Изображения
Тип файла: jpg Без_имени_2.jpg (191.1 Кб, 81 просмотров)
803 вне форума Ответить с цитированием
Старый 13.05.2012, 11:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
сделать её с использованием свободной памяти
Тоесть? Ты и так в программе работаешь с кучей. Что ты называешь "свободной памятью"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 15:37   #3
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Я здесь использую динамическую память а мне нужно свободную. Надо добавить
Код:
for (int i=0; i<m; i++) delete[] mass[i];
delete[]mass;
for (int i=0; i<m; i++) delete[] mas[i];
delete[]mas;
803 вне форума Ответить с цитированием
Старый 14.05.2012, 17:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
здесь использую динамическую память
Ты тут используешь динамическое распределение (выделение) свободной памяти.
Ты в терминах то определись.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 17:41   #5
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Извиняйте упустил. А как переделать чтобы в коде было delete[] ...

Последний раз редактировалось 803; 14.05.2012 в 17:47.
803 вне форума Ответить с цитированием
Старый 14.05.2012, 18:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вот то что ты второе написал - перед ретурном вставь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 18:40   #7
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Я уже побывал вставлять это перед ретурном, но программа не работает. То есть она компилируется но работает неверно.
803 вне форума Ответить с цитированием
Старый 14.05.2012, 20:13   #8
803
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 89
По умолчанию

Извиняйте всё работает. Всем спасибо.
803 вне форума Ответить с цитированием
Старый 14.05.2012, 21:09   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и славненько )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерные Числовые Массивы 803 Помощь студентам 1 07.05.2012 22:24
Одномерные числовые массивы (Pascal) Семенов Валерий Помощь студентам 12 13.03.2012 01:33
Одномерные числовые массивы hirano Помощь студентам 0 12.03.2012 15:39
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51