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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
#1

Массив: Как скопировать двумерный массив в другой массив? - C++

10.07.2013, 11:58. Просмотров 1828. Ответов 25
Метки нет (Все метки)

Как скопировать двумерный массив в другой массив?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2013, 11:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: Как скопировать двумерный массив в другой массив? (C++):

Скопировать двумерный массив в одномерный массив из 50 элементов - C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный...

Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива - C++
Дан двумерный массив , создать другой массив ,строками которого будут диагонали первого массива, решить с помощью классов . Класс...

Как скопировать символ из символьного массива в другой массив - C++
Есть массив s и r в обоих по 8 символов + \0 (окончание строки). В s есть символ "т", как его скопировать, например, в r? Проблема в...

Как в массив скопировать массив, который заполнен через указатели - C++
Есть два файла допусти. Суть вопроса в том, что находится во втором файле. Как записать? car.h struct car { float massiv; ...

Скопировать двумерный массив - C++
Как скопировать массив меньшей размерности в массив большей размерности? Например скопировать q в массив q1. И у массива q и у массива q1...

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

25
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 15:13 #16
tas() криво работает, по несколько значений в одной строке. Или так и задумано?
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
10.07.2013, 15:16  [ТС] #17
Короче решим эту задачу с помощью 2-х одномерных

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
tas() криво работает, по несколько значений в одной строке. Или так и задумано?
каждая строка это карта, каждый столбец это масть...
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 15:18 #18
Или нужно подсчитать сколько карт одной масти? Всего пять карт?

Добавлено через 1 минуту
Цитата Сообщение от MousePro Посмотреть сообщение
каждая строка это карта, каждый столбец это масть...
Может наоборот? 13 мастей? Если тринадцатая в строке - это туз, то это тринадцатый столбец.
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
10.07.2013, 15:31  [ТС] #19
Цитата Сообщение от alsav22 Посмотреть сообщение
Или нужно подсчитать сколько карт одной масти? Всего пять карт?

Добавлено через 1 минуту

Может наоборот? 13 мастей? Если тринадцатая в строке - это туз, то это тринадцатый столбец.
0 0000000000001
1 0000000000002
2 0000000000003
3 0000000000004


0,1,2,3 - масти
1,2,3,4-порядковый номер карты( в раздаче используем)
номер строки ( в данном случае 13) карта, в моем случае туз

я это так представляю, может ты как то по другому интерпретируешь )_
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 15:39 #20
Цитата Сообщение от MousePro Посмотреть сообщение
я это так представляю, может ты как то по другому интерпретируешь )_
Что тут интерпретировать? Первый индекс двумерного массива это количество строк, второй - количество столбцов. У тебя, в массиве desk[4][13], 4 строки и 13 столбцов.
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
10.07.2013, 15:45  [ТС] #21
Цитата Сообщение от MousePro Посмотреть сообщение
0 0000000000001
1 0000000000002
2 0000000000003
3 0000000000004


0,1,2,3 - масти
1,2,3,4-порядковый номер карты( в раздаче используем)
номер строки ( в данном случае 13) карта, в моем случае туз

я это так представляю, может ты как то по другому интерпретируешь )_
таким образом я заполняю массив ( из 5 карт по коду), потом циклом пробегаюсь по массиву dask [x][y] и условием != 0
нахожу "перетасованные карты"... И тут по своей задумке я хотел переписать эти карты в массив hand[x][y], где x это номер масти, а "y" это номер карты (строки)...
должно было получиться так:
0 13
1 13
2 13
3 13
что обозначало бы- 4 туза, 4-х мастей, ну или например:
1 6
1 13
2 13
0 1
что обозначало: 7,туз - бубны,туз-пики,2-черви
Если по коду
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 16:50 #22
Вот этот код, по-моему, то что тебе нужно. Первый столбец номер масти, второй - номер карты:
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
73
74
75
76
77
78
79
80
#include "iostream"
#include <stdlib.h>     
#include <time.h>  
#include <ctype.h>
#include <string.h>
void tas(int[][13]);
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    srand(time(NULL));
const int a =13,b=4;
int count=1;
int *conPtr=&count;
 
 
int desk [b][a]={0};
char *mast [b] = {"Черви","Бубны","Пики","Крести"};
char *kart [a] = {"Двойка","Тройка","Четверка","Пятерка","Шестерка","Семерка","Восмерка","Девятка","Десятка",
    "Валет","Дама","Король","Туз"};
int hands[5][2]={0};
tas(desk);
 
for(int x = 0, i = 0; i < 5; i++, x++)
{
    hands[i][0] = x;
    for(int y = 0; y < a; y++)
    {
        if(desk[x][y] != 0)
        {
            hands[i][1] = y + 1;
            hands[i][0] = x;
            ++i;
            if (i >= 5) break;
        }
    }
    --i;
}
 
 
//Просто проверка результата 
for(int x = 0; x < 5; x++)
{
    for(int y = 0; y < 2; y++)
        std::cout << hands[x][y] << ' ';
 
std::cout<<"\n";
}
 
 
for(int x=0;x<b;x++)
{
std::cout<<"   ";
    for(int y=0;y<a;y++)
        std::cout<<desk[x][y];
 
std::cout<<"\n";
}
 
 
system ("pause");
return 0;
}
 
void tas (int desk[][13])
{
    int mast=0,cart=0;
    for (int i=0;i<=5;i++)
    {
        mast=rand()%4;
        cart = rand()%13;
 
        while(desk[mast][cart]!=0)
        {
            mast=rand()%4;
            cart=rand()%13;
        }
        desk[mast][cart]=i;
    }
}
1
Миниатюры
Массив: Как скопировать двумерный массив в другой массив?  
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 16:55 #23
Цитата Сообщение от MousePro Посмотреть сообщение
а "y" это номер карты (строки)...
Не путай строки со столбцами. Строки у тебя - это масти (первый индекс массива), их четыре. Столбцы (числа в строке) - это у тебя карты, их - 13 (второй индекс массива).
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 16:58 #24
Ещё комбинация.
1
Миниатюры
Массив: Как скопировать двумерный массив в другой массив?  
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 17:30 #25
И ещё.
0
Миниатюры
Массив: Как скопировать двумерный массив в другой массив?  
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.07.2013, 17:47 #26
В 23 посте - это о массиве desk[4][13]. В массиве hands[5][2], каждая строка - это карта. В первом столбце - масть карты, во втором - номер карты.
1
10.07.2013, 17:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2013, 17:47
Привет! Вот еще темы с ответами:

Скопировать двумерный массив в vector - C++
Добрый день всем. подскажите пожалуйста, как скопировать двумерный массив в vector? int i = {0}; vector&lt;vector&lt;int&gt; &gt; _v; _v = i;...

Как разбить массив по 3 елемента и засунуть в другой массив - C++
Здарова форумчане. Помогите, кому не лень решить задачу по программированию на c++ Кароче нам дан массив чисел от 1 до 18. Сначала нам...

Скопировать один массив char в другой - C++
у меня двухмерный символьный и одномерный массивы символов. Что в общем то мне нужно. После небольших манипуляций над одномерным массивом,...

Скопировать один символьный массив в другой - C++
Привет всем, многоуважаемые пользователи не могу сделать программу. Нам даны два массива s1 и s2 пользователь вводит фразу в массив s2 а...


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

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

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