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

Сколькими способами человек может попасть в магазин - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скиньте интересные задания по ООП С++ http://www.cyberforum.ru/cpp-beginners/thread1252179.html
Добрый вечер, Начал изучать ООП - скиньте интересные задания с использованием ООП С++. Книжные задачки перерешал уже.
C++ Класс Rectangle: возвратить значения координат, длины, ширины и площади Реализовать класс Rectangle. Класс должен хранить координаты, а так же длину и ширину прямоугольника. Предусмотреть инициализацию данного класса через конструктор по умолчанию и с помощью координат... http://www.cyberforum.ru/cpp-beginners/thread1252165.html
C++ Решение нелинейных уравнений методом простой итерации
Решение нелинейных уравнений методом простой итерации. Реализовать заданный алгоритм для уравнения , решив уравнение с заданной пользователем точностью.
C++ Перегрузка оператора + в одномерном массиве
Требуется сцепить два одномерных массива в один mnog operator+(const mnog &R){ int k = size + R.size; //размер нового массива int r = 0; mnog mnogestvo3(k);//создание объекта (новый...
C++ Удаление переменной структуры http://www.cyberforum.ru/cpp-beginners/thread1252143.html
Здравствуйте! Можете пожалуйста объяснить как удалить переменную структуры study1? Смотрел похожие темы и по существу ничего не нашел. struct study { char namef; char sname; int rate;...
C++ Флаги форматирования в cout, выравнивание справа Вот код. Я установил флаг форматирования райт. Поток перегружен и на консоль выводится площадь и периметр, вот только они нисколько не справа. Почему не работает? Rectangle... подробнее

Показать сообщение отдельно
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
07.09.2014, 14:53
Цитата Сообщение от CrazzyBeer Посмотреть сообщение
Хотелось бы еще узнать, как избавиться от глобальных переменных?
видимо их стоит объявлять в main() и передавать при необходимости как параметр. в данном случае, вызывая rec(), передавать не только i и t, но еще и n, и k.
ну и пара замечаний общих.
1.если бы состояний динамики было больше, то массив а[] нужно было бы объявить статическим (если бы он объявлялся в функции main())
C++
1
static int a[40][50];
почитайте про static в книгах. вообще полезно понимать, где программа выделяет вам память.
2. вы сделали распространенную ошибку: объявили массив а[] как int, а из функции rec() возвращаете long. очевидно, нужно возвращать тот тип, которого у вас массив.
2.1. не всегда int и long - разные по объему типы. надо обращать внимание на это, когда пишешь задачу.
3. не очень понятно, почему ваше решение не упало. вроде как вы можете прошагать k шагов сразу из n-ой клетки. тогда ваших a[][50] может не хватить. вообще не экономьте память, когда пишете олимпиадную задачу (в рамках ограничения на память). это пустая трата времени.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru