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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tAruuuch
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 144
#1

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

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

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

Можете помочь пожайлуста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический двухмерный массив (C++):

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

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

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

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

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

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

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

А еще легче сказать я это все делаю через классы и вот такое мне нужно реализовать
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 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
BorD
4 / 4 / 0
Регистрация: 21.05.2013
Сообщений: 41
31.10.2013, 23:18 #5
Сохранение в байт коде или читаемом? Вообще из этого самое сложное - работа с файлами, по работе с массивами у вас должна быть методичка, где все конкретно описано.
0
tAruuuch
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 144
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
BorD
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 00:06
Привет! Вот еще темы с ответами:

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

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

Динамический двухмерный массив (создать матрицу) - C++
Меня немного клинит, хочу уточнить. Задача заключается в том, чтобы создать двухмерный массив: матрицу размером 4 на 7 (4 строки, 7...

Создать двухмерный динамический массив строк - C++
Ввести 2-мерный массив. Количество строк и столбцов заранее неизвестно. Признаком конца ввода строки - ввод указанной пользователем...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.11.2013, 00:06
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru