2013-11-29 1 views
-1

Цель состоит в том, чтобы печатать символы в сетке 5 на 5, при этом печатается $ (пробел после), если значение равно 1 и %, если значение равно 0 .C++ Сохранение строк как части 2D-массива, а затем печать строки

Каждая строка представляет собой массив из 5 целых чисел, все из которых являются 0 или 1.

это говорит, чтобы инициализировать первый, или 0-й строки:

int row0[0] = {1,0,0,0,1}; 

затем он говорит, чтобы хранить сами строки в двумерном массиве:

int twodim[5][5]; 

twodim[0] = {1,0,0,0,1}; 

Вышеупомянутое сбивает с толку, потому что мы должны печатать целую строку и передаваться по 2 аргументам, const int row [] и размеру. Размер 5. Но я не могу на всю жизнь понять, как печатать всю строку, потому что ни один столбец не передан (я не уверен, что это имеет значение, или я не понимаю концепцию. В принципе, я не уверен, как .? получить доступ целый ряд в вышеупомянутом случае

Любые намеки, которые могли бы помочь мне начать

+0

Звучит слишком много, как домашнее задание для меня, чтобы рассказать вам, что ему делать число рейнольдса Но вам обязательно стоит посмотреть http://www.cplusplus.com/reference/ostream/ostream/ для печати и диапазон, основанный на циклах http://www.cprogramming.com/c++11/c++11- ranged-for-loop.html для чистого чистого ответа. Теперь, насколько параметры ... вам нужно будет дать больше информации или поговорить с человеком, который дал задание. –

+1

Я изменил ваше последнее изменение. Когда люди начинают публиковать ответы на ваш вопрос, нецелесообразно удалять все содержимое. Если вы хотите попросить его полностью удалить, нажмите ссылку «flag» прямо под тегами и попросите модераторов сделать это. Удаление содержимого делает ответы бессмысленными и тратит время тех людей, которые читают ваш вопрос и написали ответы. Благодарю. –

+0

Если вы печатаете строку, вам нужно распечатать каждый столбец, поэтому в качестве аргумента не нужен индекс столбца. Вы должны распечатать все столбцы, которые вы получаете в строке [], вы уже знаете, сколько из них существует с 'size'. – nio

ответ

4

Позаботьтесь: 2dim не является допустимым идентификатором в C++, поскольку он начинается с цифры Чтобы отобразить два. как вы объяснили, вы могли бы сделать:

#include <iostream> 

int main(int argc, char** argv) 
{ 
    int dim[5][5] = { 
     {1, 0, 0, 0, 1 }, 
     {1, 0, 0, 0, 1 }, 
     {1, 0, 0, 0, 1 }, 
     {1, 0, 0, 0, 1 }, 
     {1, 0, 0, 0, 1 } 
    }; 

    for (size_t x = 0; x < 5; x++) { 
     for (size_t y = 0; y < 5; y++) { 
     std::cout << (dim[x][y] == 0 ? '%' : '$') << ' '; 
     } 
     std::cout << std::endl; 
    } 
    return 0; 
} 
Смежные вопросы