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

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

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

Не могу разобраться почему так - C++

09.11.2013, 00:48. Просмотров 204. Ответов 7
Метки нет (Все метки)

Добрый вечер! Пишу программу, обычное задание из книги Прата. Суть задания: спомощью вложенных циклов, по запрашиваемому значению, вывести строки, чтобы получилось как бы такое:
Введите количество строк: 5
....*
...**
..***
.****
*****
Мне захотелось через многомерный char- массив. Загвостка у меня вот в чем. Заполнила сначала его весь '.'. А потом, просто мне захотелось, изменить только последнюю строку массива. А она не меняется. Если поставить число (допустим 5), вместо с, то 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
#include <iostream>
const char a = '*';
const char b = '.';
 
int main()
{
    std::cout << "Pl. num: ";
    int c;
    std::cin >> c;
    
    char mas[c][c];
    for (int j = 0; j < c; ++j){
    for (int i = 0; i < c; ++i){
        mas[j][i] = b;
    }
    }
 
// !!! вот здесь пытаюсь поменять последнюю строку
    for (int i = 0; i < c; ++i)
        mas[c][i] = a;
 
    for (int j = 0; j < c; ++j){
    for (int i = 0; i < c; ++i){
        std::cout << mas[j][i] << " ";
    }
    std::cout << std::endl;
    }
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 00:48     Не могу разобраться почему так
Посмотрите здесь:

Не могу разобраться почему не считывается массив - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Не работает программа. не могу разобраться что в ней не так - C++
Не работает программа. Не могу разобраться что в ней не так. Программа на вызов функций Н, а, б, с в соответствии с заданием. Заранее...

Не могу определить почему не так кодировка - C++
И так сразу к сути,путаюсь вывести текст в фаил русскими буквами а там ироглифы код : struct a { char name; a() { ...

Инкрементация (не могу понять почему так?) - C++
Гуру в программировании на C++ начала изучать язык, и сразу вопросы почему при выполнении #pragma argsused #include &lt;conio.h&gt; ...

Почему так работает, а так нет? - C++
так работает // Возведение b в степень s по модулю m float powmod(float b, long s) { float c=1; while (s) {

Динамическиме массивы подскажите разобраться почему не работает - C++
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;iomanip&gt; using namespace std ; int main() { char...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 00:51     Не могу разобраться почему так #2
C++
1
2
3
4
5
6
7
8
//...
    int c;
    std::cin >> c;
    
    char mas[c][c];//1 - это не переносимо, 2 - массив имеет размер c и последний индекс равен c - 1
//...
mas[c][i] = a;//Обращение к элементу с индексом c
//...
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 00:52     Не могу разобраться почему так #3
В массиве mas[c][c] не будет строки с номером c, последняя строка будет с индексом c-1.
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 00:53     Не могу разобраться почему так #4
Цитата Сообщение от Dani Посмотреть сообщение
Это у тебя студия стоит наверное
Скорее MinGW (GCC), это ж GNU VLA
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 00:55     Не могу разобраться почему так #5
Croessmah, для студии хоть аббревиатуры ABCDE FG, все-равно - компилит не по стандарту
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 00:58     Не могу разобраться почему так #6
Цитата Сообщение от Dani Посмотреть сообщение
все-равно - компилит не по стандарту
но вот такое VS не компилирует, если мне память не изменяет. GCC с опцией -pedantic тоже откажется
EliCh
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 2
09.11.2013, 16:31  [ТС]     Не могу разобраться почему так #7
Цитата Сообщение от Dani Посмотреть сообщение
В массиве mas[c][c] не будет строки с номером c, последняя строка будет с индексом c-1.
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
Точно! Строки с в массиве ведь не будет!!! Исправила.Спасибо.
Цитата Сообщение от Dani Посмотреть сообщение
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
Так "нельзя" - это что к несуществующим элементам массива обратилась?
У меня Qt Creator, почему-то ни ругнулся на мою явную ошибку..
Благодарю за быстрые ответы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 20:46     Не могу разобраться почему так
Еще ссылки по теме:

Не могу разобраться с сортировками - C++
Преподаватель дал задание написать алгоритмы. Я написал и мне все казалось верным, но в самой обыкновенной сортировке пузырьком у меня...

Не могу разобраться в задаче - C++
В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом...

Не могу разобраться с циклом - C++
Надо сделать так, чтобы после выполнения программы, либо если юзер ввёл число d, которого не существует, программа нам предложила ещё...

Не могу разобраться с программой - C++
Я поступил в Колледж Вычислительной Техники и у нас началось программированиею Сказали поставить Visual C++ 2010, я поставил и теперь не...


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

Или воспользуйтесь поиском по форуму:
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 20:46     Не могу разобраться почему так #8
Цитата Сообщение от EliCh Посмотреть сообщение
Так "нельзя" - это что к несуществующим элементам массива обратилась?
Не по стандарту.
Yandex
Объявления
09.11.2013, 20:46     Не могу разобраться почему так
Ответ Создать тему
Опции темы

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