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

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

Войти
Регистрация
Восстановить пароль
 
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
#1

Двумерный массив - C++

14.04.2013, 21:21. Просмотров 255. Ответов 3
Метки нет (Все метки)

Набросал часть кода за 15 минут.
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
#include <iostream>
 
char* fillarr(char ** str, int len);
 
 
void paintfield()
{
    int count, count2;
    char field[10][10];
for (count = 0; count < 10; count++)
{
    
    
    for (count2 = 0; count2 < 10; count2++)
    {
        std::cout << field[count][count2] << " ";}
    
        std::cout << std::endl;
    
}
    }
 
 
char* fillarr(char * str, int len)
{
    
    for(int i = 0; i < len; i++)
    {
        
        for (int c = 0; c < len; c++)
            str[i][c] = ".";
        
    }
    
    
    return str;
}
Честно говоря, я не понимаю, где ошибка в функции fillarr.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 21:21     Двумерный массив
Посмотрите здесь:

Двумерный Массив - C++
Всем привет Помогите решить написанную ниже задачу, надо написать ее на С#, желательно с коментариями к коду, и разбитую на маин и...

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

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

Двумерный массив - C++
Как решить на с++

Двумерный массив - C++
Доброго времени суток! Помогите плиз с условием... не могу понять как сделать... Задачка: Дана прямоугольная матрица. Определить...

Двумерный массив - C++
Пользователь указывает номер Столбца и строки, поменять их местами

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
14.04.2013, 21:46     Двумерный массив #2
Цитата Сообщение от RussDragon Посмотреть сообщение
Набросал часть кода за 15 минут.
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
#include <iostream>
 
char* fillarr(char ** str, int len);
 
 
void paintfield()
{
    int count, count2;
    char field[10][10];
for (count = 0; count < 10; count++)
{
    
    
    for (count2 = 0; count2 < 10; count2++)
    {
        std::cout << field[count][count2] << " ";}
    
        std::cout << std::endl;
    
}
    }
 
 
char* fillarr(char * str, int len)
{
    
    for(int i = 0; i < len; i++)
    {
        
        for (int c = 0; c < len; c++)
            str[i][c] = ".";
        
    }
    
    
    return str;
}
Честно говоря, я не понимаю, где ошибка в функции fillarr.
Если Вы хотите возвращать функцией fillarr двумерный массив, тогда нужно после char поставить вторую звёздочку.
C++
1
char** fillarr(char ** str, int len)
Еще в этой строке
C++
1
str[i][c] = ".";
Вы присваиваете ячейке массива char-ов строку. Правильнее будет написать
C++
1
str[i][c] = '.';
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
14.04.2013, 22:03  [ТС]     Двумерный массив #3
Точно! Спасибо! Про кавычки я совсем забыл.

Добавлено через 5 минут
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
char* fillarr(char ** str, int len);
 
 
void paintfield()
{
    int count, count2;
    char field[10][10];
    fillarr(field, 10 );
for (count = 0; count < 10; count++)
{
    
    
    for (count2 = 0; count2 < 10; count2++)
    {
        std::cout << field[count][count2] << " ";}
    
        std::cout << std::endl;
    
}
    }
 
 
char* fillarr(char ** str, int len)
{
    
    for(int i = 0; i < len; i++)
    {
        
        for (int c = 0; c < len; c++)
            str[i][c] = '.';
        
    }
    
    
    return *str;
}
Теперь painfield пишет, что нету вызываемой функции с именем fillarr
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 22:27     Двумерный массив
Еще ссылки по теме:

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

Двумерный массив - C++
#include &lt;iostream&gt; using namespace std; int main() { const int n=3; int a; for(int i=0;i&lt;=N;i++) for(int...

двумерный массив - C++
дан двумерный массив(n*m). вывести все НЕ повторяющиеся элементы. не использую другии массивы. просто, сразу из двумерного

Двумерный массив - C++
Подскажите пожалуйста! Я уже так устал за сегодня что в голову ничего не лезет и от кода голова кружится) Я сколько на это не смотрю не...


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

Или воспользуйтесь поиском по форуму:
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
14.04.2013, 22:27     Двумерный массив #4
У меня нормально всё работает
Только вот у Вас char [10][10] не преобразует в char **
Если хотите создать динамический двумерный массив,то скорее так:
C++
1
2
3
4
    char**field;
    field=new char*[10];
    for(int a=0;a!=10;a++)
        field[a]=new char[10];
Yandex
Объявления
14.04.2013, 22:27     Двумерный массив
Ответ Создать тему
Опции темы

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