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

Динамический двухмерный массив

31.10.2013, 22:47. Показов 970. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сделать динамический двухмерный массив.
1. n столбиков и m строчек нужно задавать самому
2. массив должен записываться и считываться с файла
3. вычислить центральную координату массива
4. числа должны быть двойной точности
5. это все нужно сделать отдельными ф-ями (введение m и n, запись в файл, считывание из файла, вычисление средней координаты)

Можете помочь пожайлуста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2013, 22:47
Ответы с готовыми решениями:

Двухмерный динамический массив
Мне нужно создать 4 многомерных динамических массивов, размерность которых 10000000 10000000, и у...

двухмерный динамический массив
задание было такое: Найти количество отрицательных и положительных элементов массива. Массив в...

Двухмерный динамический массив
Ребята, подскажите пожалуйста, необходимо создать двухмерный динамический массив. Его размерность...

Двухмерный динамический массив
a=new int* for(int i=0;i<m;i++) a=new int; Вот создание двухмерного динамического...

6
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
31.10.2013, 22:57 2
tAruuuch, то есть 2 способа ввода должно быть? Из файла и вручную?
0
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
31.10.2013, 23:02  [ТС] 3
Folko, нет, ввести нужно сначала только m и n, потом сгенерировать массив рандомными числами, и сделать что бы было сохранение в файл и считывание с файла, тобеж у меня будет меню и там будет выводиться уже или просто ввести и вывести матрицу или сохранить её в файл и оттуда считать.

А еще легче сказать я это все делаю через классы и вот такое мне нужно реализовать
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
31.10.2013, 23:07 4
tAruuuch, с сохранением записью помочь не смогу, но создание матрицы:
C++
1
2
3
int** a = new int*[n];
for (int i = 0; i < n; i++)
a[i] = new int [m];
создает динамический массив n - строк, m - столбцов
0
4 / 4 / 0
Регистрация: 21.05.2013
Сообщений: 41
31.10.2013, 23:18 5
Сохранение в байт коде или читаемом? Вообще из этого самое сложное - работа с файлами, по работе с массивами у вас должна быть методичка, где все конкретно описано.
0
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 146
31.10.2013, 23:35  [ТС] 6
BorD, ну массив я создать могу, и вывести его могу, я его не могу записать и считать с файла + это нужно в классах и все числа с двойной точностью (double) да и с файлами я очень плохо понимаю

Добавлено через 2 минуты
BorD, в каком коде не имеет значение оно просто должно быть в файле

Добавлено через 9 минут
вот коды того что у меня сейчас есть
dynamic.h
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
#pragma once
 
#include <iostream>
class dynamic
{
    int     m,
            n;
 
    double  z;
public:
    dynamic();
    dynamic(dynamic& x);
    ~dynamic();
 
    void Napus();
 
    //читання елементів із заданими координатами
    void Reads();
 
    //запис елементів із заданими координатами
    void Write();
 
    //визначення координат центральной точки
    void Coord();
};
dynamic.cpp
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
#include "dynamic.h"
#include <string.h>
#include <iostream>
#include <cstdlib>
#include <clocale>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
dynamic::dynamic()
{
    n=0;
    m=0;
}
 
void dynamic::Napus()
{
    srand(time(NULL));
 
    cout <<"Введите размер матрицы: " << endl;
    cin >> m; 
    cin >> n;
    
    double **z = new double* [n]; 
    for (int i = 0; i < n; i++)
        z[i] = new double [m]; 
    
    // заполнение массива
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            z[i][j] = (rand() % 10 + 1);
 
    // вывод массива
    cout << "Наша матрица" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << setw(4) << z[i][j] << "   ";
        cout << endl;
    }
 
    // удаление двумерного динамического массива
    for (int i = 0; i < n; i++)
        delete []z[i];
 
    system("pause");
}
 
void dynamic::Write()
{
 
}
 
void dynamic::Reads()
{
 
}
 
void dynamic::Coord()
{
 
}
 
dynamic::~dynamic()
{
 
}
Исходный код.cpp
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 "dynamic.h"
#include <iostream>
#include <cstdlib>
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
#include <clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    dynamic Dynamic;
 
    do
    {
        cout << "Виберiть один з запропонованих варiантiв" << endl;
        cout << "1. tt" << endl;
        cout << "e. Вихiд" << endl << endl;
 
        int key = _getch ();
 
        switch (key)
        {
            case '1':   Dynamic.Napus();                break;
            case 'e':
            {return 0;}
            default:
                cout << "Невiрний вибiр! Натиснiть будь-яку клавiшу для продовження..." << endl;
                _getch ();
        }
 
    } while (true);
}
0
4 / 4 / 0
Регистрация: 21.05.2013
Сообщений: 41
01.11.2013, 00:06 7
Если с double работаешь, то запись лучше осуществлять в байт коде. Пробей в гугле: чтение\запись в файл в байт коде. Чтение и запись будет осуществляться через тот же цикл двухмерного массива:
C++
1
2
3
4
5
6
void write ()
{
for (i=0;i<n;i++)
for (j=0;j<m;j++)
//Функция записи(в ней просто вставляем значение a[i][j])
return 0;
Аналогично с считыванием
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 00:06
Помогаю со студенческими работами здесь

Двухмерный динамический массив
Создать двухмерный динамический массив, найти сумму значокь его элементов,вывести на экран,массив...

Динамический двухмерный массив
ИМХО директива include предназначена для включения документа в тело JSP НА ЭТАПЕ ТРАНСЛЯЦИИ JSP В...

Двухмерный динамический массив строк
Всем привет) Помогите пожалуйста создать двумерный динамический массив строк, почитал Подбельского,...

Указатель на двухмерный динамический массив
Друзья, нужна Ваша помощь! Создаю одномерный динамический, создаю указатель на него (вернее на его...


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

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

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