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

Кому не трудно, нужна идея как сделать проще - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на рекурсию http://www.cyberforum.ru/cpp-beginners/thread1036754.html
Здравствуйте. Имеется следующая задача: Разработать и реализовать алгоритм, на входе которого имеется выражение, а на выходе выражение в котором идентификаторы заменены на букву Т, а целые без знака на N (например: вход: x+123 выход:T+N). Все это нужно сделать, применив рекурсию. Пожалуйста, поделитесь мыслям насчет этой задачи, хотя бы примерный алгоритм.(язык c++) Кстати, этой задаче...
C++ Сформировать матрицу по образцу Здравствуйте. Каким образом можно решить задачу? Даны действительные числа а1,а2... Получить: http://www.cyberforum.ru/cpp-beginners/thread1036743.html
Перегрузка операторов C++
Создать класс «Параллелепипед» для работы с графическим объектом и класс, позволяющий изменять местоположение объекта первого класса на экране. Для объектов первого класса выполните перегрузку указанных операторов( ++, --, =.) Создайте массив из объектов первого класса. Выполните демонстрацию работы методов первого класса, запрограммировав выбор метода в зависимости от нажатой клавиши и/или...
C++ Задача на строки(С/С++)
Пользователь вводит отдельно строку и символ, необходимо показать на экран номер только последнего совпадения (нумерация с единицы). Помогите пожалуйста или хотя бы идею подкиньте.
C++ Переставить рядки матрицы относительно по возрастанию элементов второго столбца http://www.cyberforum.ru/cpp-beginners/thread1036715.html
Переставить рядки матрицы относительно по возрастанию элементов второго столбца
C++ Файловые потоки и операции Задача наверняка легкая для Вас, но мне просто необходима, жду Вашей помощи, заранее спасибо=)) Бинарный файл содержит записи с полями: дата и время ввода, наименование и числовой параметр. Обеспечьте функциональность добавления, удаления, поиска/замены и сортировки по одному из трех полей. подробнее

Показать сообщение отдельно
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,076
Записей в блоге: 16
11.12.2013, 07:53     Кому не трудно, нужна идея как сделать проще
Кодом, пожалуй, нагляднее будет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const unsigned M = 10;
bool Is1toM(unsigned* arr)
{
bool Found[M] = { false };
for (unsigned i = 0; i < M; ++i)
 {
 unsigned val = arr[i] - 1;
 if (val < 0 || val >= M)   //Вообще-то unsigned не может быть меньше нуля, это для иллюстрации и на случай замены на signed
  return false;
 if (Found[val])
  return false;
 Found[val] = true;
 }
return true;
}
То есть для всех чисел от 1 до М у нас есть флаги в массиве, что данное число уже обнаружено при просмотре входного массива. Если элемент входного массива не есть число от 1 до М - фейл, если обнаруживаем второе вхождение - аналогично.
 
Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru