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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
#1

Показ чисел, являющихся кубами в интервале - C++

18.09.2010, 18:16. Просмотров 1519. Ответов 30
Метки нет (Все метки)

Добренького всем здоровьица
Помогите, пожалуйста, с задачей:
Даются два целых числа[m, n]. Программа показывает числа, являющиеся кубами целых чисел в интервале заданных пользователем чисел, при вводе неверных данных выдает ошибку, должна быть возможность повторить программу.
1. Как понимаю, необходимо создать массив, по которому пойдет проверка и далее показ числа в интервале и числа, кубом которого оно является. Верно?
2. Как зациклировать? что-либо типа "пресс 1 ту старт, ор ноль ту энд"?
Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2010, 18:16     Показ чисел, являющихся кубами в интервале
Посмотрите здесь:

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

Найти количество чисел A (i= 1, 2,., n), являющихся степенями m - C++
Даны натуральное число m, n и целые числа а1, а2, ..., аn. Найти количество чисел аi (i= 1, 2,..., n), являющихся степенями m. (Определить...

Найти количество чисел, являющихся полными квадратами - C++
Даны натуральное число n и целые числа a1,a2,...,an. Найти количество чисел ai (i=1,2,...,n) являющихся полными квадратами. (Определить...

Подсчитать количество натуральных чисел являющихся палиндромами - C++
Подсчитать количество натуральных чисел n (11 <= n <= 999), являющихся палиндромами, и распечатать их. Я ничего не понимаю. Где вообще...

Найти количество чисел, являющихся полными квадратами - C++
Даны натуральное число n и целые числа a1,a2,...,an. Найти количество чисел ai (i=1,2,...,n) являющихся полными квадратами. (Определить...

Найти количество чисел a1(i=1,2,....,n), являющихся степенями пятерки - C++
Даны натуральное число n и целые числа а1,а2..,аn.Найти количество чисел a1(i=1,2,....,n),я вляющихся степенями пятерки.(Определить...

Определить количество членов последовательности, являющихся квадратами четных чисел - C++
Обьясните пожалуста как решить такую задачу: Даны целые положительные числа N, a1, ..., aN. Используя только элементарные...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
21.09.2010, 08:42     Показ чисел, являющихся кубами в интервале #21
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
using namespace std;
 
 
int main()
{
int a;
cout << "Enter 1 to start, or 0 to end and press ENTER: \n";
cin >> a;
  while ( a ){
    int max;
    int min;
    cout << "Enter interval min: ";
    cin >> min;
    while (!cin.good())
          {
          cin.clear ();
          cin.ignore (256, '\n');
          cout << "Try again: ";
          cin >> min;
          }
    cout << "Enter interval max: ";
    cin >> max;
    while (!cin.good())
          {
          cin.clear ();
          cin.ignore (256, '\n');
          cout << "Try again: ";
          cin >> max;
          }
                   for (int i = min; i < max; ++i){
        for (int j = 1; j < abs(i/2); ++j){
            int tmp = j*j*j;
            if ( tmp == abs(i) ){
                cout << i <<" is number ";
                (i<0) ? cout<< (j*(-1)) <<" " : cout<<j <<" " ;
                cout<<"in cube!"<<endl;
                break;
            }
        }
    }
 }
 
return 0;
}
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
21.09.2010, 23:54  [ТС]     Показ чисел, являющихся кубами в интервале #22
C++
1
2
3
4
5
6
7
while (!cin.good())
          {
          cin.clear ();
          cin.ignore (256, '\n');
          cout << "Try again: ";
          cin >> min;
          }
Это проверяет тип. Возможно ли модифицировать до проверки элементов? Если в "min" ввожу, например, 10.333 - выдает "введите макс" + "трай эгейн", при вводе выражения типа "-13/4" программа завершается( нагружать код if'ами, или есть другой путь?

Добавлено через 3 часа 9 минут
И погуглил, и тут поискал - результата нет, только проверка на тип и что-то связанное со строками :\
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
22.09.2010, 23:55  [ТС]     Показ чисел, являющихся кубами в интервале #23
Значит, вообще никак нельзя?
mrMRak
38 / 38 / 3
Регистрация: 02.06.2010
Сообщений: 105
23.09.2010, 00:11     Показ чисел, являющихся кубами в интервале #24
ясное дело что от выражений "-13/4" будет валится, так как это не число типа инт. проверте в границах ли инта это число и все..
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
23.09.2010, 13:48  [ТС]     Показ чисел, являющихся кубами в интервале #25
а чем проверяются границы?
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
23.09.2010, 16:00     Показ чисел, являющихся кубами в интервале #26
Цитата Сообщение от Злобный Посмотреть сообщение
а чем проверяются границы?
INT_MIN<= int <= INT_MAX
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
23.09.2010, 18:57  [ТС]     Показ чисел, являющихся кубами в интервале #27
А поконкретнее? И на каком этапе это ставить?
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
23.09.2010, 19:08     Показ чисел, являющихся кубами в интервале #28
Цитата Сообщение от Злобный Посмотреть сообщение
И на каком этапе это ставить?
ни в каком, толку все равно не будет
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
23.09.2010, 20:07  [ТС]     Показ чисел, являющихся кубами в интервале #29
Неужели вообще вариантов нету?
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
23.09.2010, 20:52     Показ чисел, являющихся кубами в интервале #30
полюбому есть, но я больше не знаю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2010, 20:04     Показ чисел, являющихся кубами в интервале
Еще ссылки по теме:

Подсчет количества чисел в последовательности, являющихся большими его соседей - C++
Условия задачи, которые нужно написать: 1. Пусть даны последовательность чисел, которая заканчивается 0. Написать программу, которая...

Сгенерировать 10 чисел в интервале от 1 до 50 и посчитать, сколько среди них чисел > 15 - C++
Написать программу, которая генерирует 10 целых случайных чисел в интервале от 1 до 50. Вывести их на экран и посчитать, сколько среди них...

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

Подсчитать количество строк заданной целочисленной матрицы n×n, являющихся перестановкой чисел 1, 2, ..., n - C++
Подсчитать количество строк заданной целочисленной матрицы n × n, являющихся перестановкой чисел 1, 2, ..., n (то есть содержащих каждое из...

Проверить, имеется ли в массиве хотя бы одна пара чисел, являющихся противоположными по знаку - C++
Используя указатели проверить, имеется ли в массиве хотя бы одна пара чисел, являющихся противоположными по знаку


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

Или воспользуйтесь поиском по форуму:
Злобный
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
03.10.2010, 20:04  [ТС]     Показ чисел, являющихся кубами в интервале #31
Итог:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <limits>
#include <string>
using namespace std;
int main()
    { 
    int a;  //переменная повтора
    
    do 
          {
          int n;
          int m;
          bool correct = false;
          cin.exceptions(cin.failbit);                
        while ( ! correct ) {
                try {
                        cout << "Enter interval min: ";
                        cin >> n;
                        if ( ! ( correct = ( cin.get() == '\n' ) ) )
                                throw ( string("Enter only INT") );
                }
                catch ( ios_base::failure & ) {
                        cin.clear();
                        cin.ignore(numeric_limits<streamsize>::max(), '\n');
                        cerr << "try again!" << endl;
                }
                catch ( const string & s ) {
                        cin.ignore(numeric_limits<streamsize>::max(), '\n');
                        std::cerr << s << endl;
                }
        }
 
          {
                try {
                        cout << "Enter interval max: ";
                        cin >> m;
                        if ( ! ( correct = ( cin.get() == '\n' ) ) )
                                throw ( string("enter only INT") );
                }
                catch ( ios_base::failure & ) {
                        cin.clear();
                        cin.ignore(numeric_limits<streamsize>::max(), '\n');
                        cerr << "try again!" << endl;
                }
                catch ( const string & s ) {
                        cin.ignore(numeric_limits<streamsize>::max(), '\n');
                        cerr << s << endl;
                }
        }
          for (int i = n; i < m; ++i) //начало алгоритма
                {
                for (int j = 1; j < abs(i/2); ++j)
                    {
                    int x = j*j*j; 
                    if ( x == abs(i) ) 
                       {
                       cout << i <<" ir skaitlis ";
                       (i<0) ? cout<< (j*(-1)) <<" " : cout<<j <<" " ; 
                       cout<<"kubaa."<<endl;
                       break;
                       }
                    }
                } 
                cout << "Press 1 to start again ";
                cin >> a;              
          }
          while (a == 1);
    return 0;
    }
Ошибки находит, но после введения MAX (неправильного), продолжает работу(но сообщение показывает). В чем косяк? О_о

Добавлено через 19 часов 25 минут
Есть идеи?..
Yandex
Объявления
03.10.2010, 20:04     Показ чисел, являющихся кубами в интервале
Ответ Создать тему
Опции темы

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