С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

09.11.2013, 00:48. Просмотров 214. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 00:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу разобраться почему так (C++):

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

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

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

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

Символьные литералы, указатели и функция. Не могу понять, почему именно так - C++
Доброго времени суток всем! :) Изучаю С++, всегда стараюсь добить до последнего код, чтобы не было непоняток. Но сейчас наткнулся на...

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

7
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 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
//...
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 00:52 #3
В массиве mas[c][c] не будет строки с номером c, последняя строка будет с индексом c-1.
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
1
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 00:53 #4
Цитата Сообщение от Dani Посмотреть сообщение
Это у тебя студия стоит наверное
Скорее MinGW (GCC), это ж GNU VLA
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 00:55 #5
Croessmah, для студии хоть аббревиатуры ABCDE FG, все-равно - компилит не по стандарту
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
09.11.2013, 00:58 #6
Цитата Сообщение от Dani Посмотреть сообщение
все-равно - компилит не по стандарту
но вот такое VS не компилирует, если мне память не изменяет. GCC с опцией -pedantic тоже откажется
1
EliCh
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 2
09.11.2013, 16:31  [ТС] #7
Цитата Сообщение от Dani Посмотреть сообщение
В массиве mas[c][c] не будет строки с номером c, последняя строка будет с индексом c-1.
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
Точно! Строки с в массиве ведь не будет!!! Исправила.Спасибо.
Цитата Сообщение от Dani Посмотреть сообщение
И вообще, так массивы нельзя объявлять. Это у тебя студия стоит наверное
Так "нельзя" - это что к несуществующим элементам массива обратилась?
У меня Qt Creator, почему-то ни ругнулся на мою явную ошибку..
Благодарю за быстрые ответы
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.11.2013, 20:46 #8
Цитата Сообщение от EliCh Посмотреть сообщение
Так "нельзя" - это что к несуществующим элементам массива обратилась?
Не по стандарту.
0
09.11.2013, 20:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2013, 20:46
Привет! Вот еще темы с ответами:

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

не могу разобраться.. - C++
Вывести на экран все натуральные числа из диапазона от A до B, в записи которых цифра 7 встречается ровно N раз. При отсутствии чисел с...

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

Не могу разобраться с матрицей - C++
В заданной матрице A(N,M) (N&lt;10, M&lt;20) в каждом столбце поменять местами максимальный и минимальный элементы. Матрицу напечатать Заранее...


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

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

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