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

Есть ли такой метод? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В целочисленном массиве найти наибольший элемент среди элементов меньше своих соседей http://www.cyberforum.ru/cpp-beginners/thread1088951.html
Здравствуйте! Помогите, пожалуйста, с задачей: в целочисленном массиве найти наибольший элемент среди элементов меньше своих соседей.
C++ В каждой строке найти минимальный элемент, затем среди них найти максимальное и вывести на экран индекс этого элемента Здравствуйте! Помогите, пожалуйста, с задачей: В двумерном массиве все числа различны. В каждой строке найти минимальный элемент, затем среди них найти максимальное и вывести на экран индекс этого... http://www.cyberforum.ru/cpp-beginners/thread1088932.html
C++ Какие подводные камни могут быть, при хранении в контейнере элемента типа void*?
Привет читателям! Какие подводные камни могут быть, при хранении в контейнере элемента типа void*? Делаю некое подобие "memory pool". Например: std::vector<void*> somes .. std::cout <<...
Одномерный массив более 3-х подряд идущих отрицательных элементов, заменить на максимальный элемент C++
В одномерном массиве A=(a1, а2, ..., аn) все группы элементов, содержащие более 3-х подряд идущих отрицательных элементов, заменить на максимальный элемент. подскажите где ошибка первые четыре...
C++ Переделать через switch http://www.cyberforum.ru/cpp-beginners/thread1088889.html
Вот уравнение: y = na+(n-1)a+...+a или по другому : ((n+1)/2*n*a) Вот мой код: И надо бы его переделать через switch; А я вот до конца со свитчем не разобрался Помогите кто чем может !...
C++ Как сделать автоматическое копирование данных при их изменении? Я не люблю C++, но вынужден программировать на нем. До этого я пользовался языком, в котором нет многих проблем (или возможностей, смотря с какой стороны посмотреть) C++. Нет ссылок, указателей и... подробнее

Показать сообщение отдельно
koldya
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 26
04.02.2014, 20:28  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
koldya, вводите число, и дальше с помощью диапазонов проверяете на количество цифр. Например, от 0 до 99 для двух символов, от 0 до 999 для 3 и т.д.
я у себя так и проверяю, просто интересно есть ли другой подход для решения..

Добавлено через 6 минут
Цитата Сообщение от Тамика Посмотреть сообщение
А если их будет очень-очень много?
если много, то лучше будет воспользоваться преобразованием к строке и так уже в цикле проверить
Или так:
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
while(true)               // цикл, пока футы не будут правильными
    {
    cout << "\n\nВведите футы: ";
    cin.unsetf(ios::skipws);// не пропускать разделители
    cin >> instr;           // получить футы как строку
    if(isFeet(instr))       // правильное значение? да
      { 
      cin.ignore(10, '\n'); // съесть символы, включая разделитель строк
      feet = atoi(instr.c_str()); // перевести значение в целочисленное
      break;                // выход из цикла 'while'
      }                     // нет, не целое
    cin.ignore(10, '\n');   // съесть символы, включая разделитель строк
    cout << "Футы должны быть целыми < 1000\n";
    }                       // конец цикла while для футов
///
int isFeet(string str)       // true если введена строка
  {                          // с правильным значением футов
  int slen = str.size();     // получить длину
  if(slen == 0 || slen > 5)  // не было или слишком много данных
    return 0;                // не целое
  for(int j = 0; j < slen; j++) // проверить каждый символ
  if((str[j] < '0' || str[j] > '9') && str[j] != '-') // если не цифра или минус
      return 0;              // строка неправильных футов
  double  n = atof(str.c_str()); // перевод в double 
  if(n <-999.0 || n > 999.0) // вне допустимых значений?
    return 0;                // если да, неправильные футы
  return 1;                  // правильные футы
  }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru