Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
1

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

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

Author24 — интернет-сервис помощи студентам
Добренького всем здоровьица
Помогите, пожалуйста, с задачей:
Даются два целых числа[m, n]. Программа показывает числа, являющиеся кубами целых чисел в интервале заданных пользователем чисел, при вводе неверных данных выдает ошибку, должна быть возможность повторить программу.
1. Как понимаю, необходимо создать массив, по которому пойдет проверка и далее показ числа в интервале и числа, кубом которого оно является. Верно?
2. Как зациклировать? что-либо типа "пресс 1 ту старт, ор ноль ту энд"?
Заранее спасибо
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2010, 18:16
Ответы с готовыми решениями:

Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел
Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел.

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

Написать программу, которая находит заданное количество чисел, являющихся квадратами натуральных чисел, и выводит их на экран. Проверку "квадрат – не
Написать программу, которая находит заданное количество чисел, являющихся квадратами натуральных...

Класс: Создать класс дробь - рациональных чисел, являющихся отношением двух целых чисел...
Создать класс дробь - рациональных чисел, является отношением двух целых чисел. Определить...

30
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
18.09.2010, 18:29 2
Неверно - массив не нужен
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
18.09.2010, 18:36  [ТС] 3
Цитата Сообщение от odip Посмотреть сообщение
Неверно - массив не нужен
А как тогда? Ведь числа же должны куда-то записаться
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 19:06 4
Попробуй что-нибудь такое:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include < conio.h>
#include <iostream>
using namespace std; 
 
int main(){
 int max,min;
 cin >> min;
 cin >> max;
 
 for(int i = min; i <= max;i++)
     cout << i*i*i << endl;
 
 
  _getch();  
}
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
18.09.2010, 19:46 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
 
int main()
{
//[2..100)
    int max = 100;
    int min = 2;
 
    for (int i = min; i < max; ++i){
        for (int j = 1; j < i; ++j){
            if ( (j*j*j) == i ){
                cout << i <<" ";
                break;
            }
        }
    }
 
    return 0;
}
повтор ввода не делал

Добавлено через 14 минут
это решение "в лоб".

в цикле можно проверять j не до i а ,например, до i/2 и тп
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
18.09.2010, 20:17  [ТС] 6
Спасибо огромнейшее) С меня пиво
В общем-то то, что нужно. Думаю, оба ваших кода скомбинировать, добавить проверку, и получится то, что хотят)
0
246 / 178 / 47
Регистрация: 14.06.2010
Сообщений: 422
18.09.2010, 20:41 7
С меня пиво


2. Как зациклировать? что-либо типа "пресс 1 ту старт, ор ноль ту энд"?
Можно сделать бесконечный цикл
C++
1
while(1)
и выводить на экран предложение нажать Esc чтобы выйти.
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
19.09.2010, 18:34  [ТС] 8
Ээ.. А как заставить её обрабатыыать в том числе и отрицательные числа? Игнорирует их
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
19.09.2010, 18:53 9
Цитата Сообщение от Злобный Посмотреть сообщение
Ээ.. А как заставить её обрабатыыать в том числе и отрицательные числа? Игнорирует их
отрицательные числа - чтобы кубы отрицательных показывала?
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
19.09.2010, 19:08  [ТС] 10
Ну да... Интервал задаю, даже если минимальное = минус сто, отсчет идет от нуля(8, 27, 64 и т.д.)
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
19.09.2010, 19:12 11
и никогда не будит, потомучто j*j*j всегда >0 и это j*j*j сравнивается с отрицательными i. Тоесть условие никогда не выполняется
1
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
19.09.2010, 19:33  [ТС] 12
Разобрался) работает, но как-то громоздко получилось

Добавлено через 17 минут
Цитата Сообщение от PointsEqual Посмотреть сообщение
и никогда не будит, потомучто j*j*j всегда >0 и это j*j*j сравнивается с отрицательными i. Тоесть условие никогда не выполняется
Ну а как-то вообще реализовать это можно или нет?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
19.09.2010, 19:42 13
Злобный, правильно.

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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
 
int main()
{
//[-100..100)
    int max = 100;
    int min = -100;
 
    for (int i = min; i < max; ++i){
 
        for (int j = 1; j < abs(i/2); ++j){
 
            float tmp = j*j*j;
 
            if( i < 0 ) tmp *= -1;
 
            if ( (tmp) == i ){
                cout << i <<" ";
                break;
            }
        }
    }
 
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от PointsEqual Посмотреть сообщение
abs(i/2);
тут надо в модуль взять, а то условие не выполнится тоже

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
//[-100..100)
    int max = 100;
    int min = -100;
 
    for (int i = min; i < max; ++i){
        for (int j = 1; j < abs(i/2); ++j){
            float tmp = j*j*j;
            if ( tmp == abs(i) ){
                cout << i <<" ";
                break;
            }
        }
    }
 
    return 0;
}
1
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
19.09.2010, 20:16  [ТС] 14
Цитата Сообщение от PointsEqual Посмотреть сообщение
float tmp = j*j*j;
Обязательно float, или можно инт?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
19.09.2010, 20:17 15
можно инт
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
19.09.2010, 21:01  [ТС] 16
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
#include <iostream>
using namespace std;
 
 
int main()
{  
    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 "<<  j <<" in cube! \n";
            
                break;
            }
        }
    }
system ("pause");
    return 0;
}
Выводит, но при отрицательных показывает положительное основаниеО_о
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
19.09.2010, 22:41 17
C++
1
2
3
4
5
6
7
8
            if ( tmp == abs(i) ){
 
                cout << i <<" is number ";
                (i<0) ? cout<< (j*(-1)) <<" " : cout<<j <<" " ;
                cout<<"in cube!"<<endl;
 
                break;
            }
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
20.09.2010, 21:29  [ТС] 18
ап:
Проблема с циклом. do-while по "нажмите 1 чтоб продолжить, 0 чтоб завершить" в любом случае прекращает программу. В чём загвоздка?
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
20.09.2010, 21:34 19
Цитата Сообщение от Злобный Посмотреть сообщение
ап:
Проблема с циклом. do-while по "нажмите 1 чтоб продолжить, 0 чтоб завершить" в любом случае прекращает программу. В чём загвоздка?
А где код то ?
0
2 / 2 / 0
Регистрация: 18.09.2010
Сообщений: 43
21.09.2010, 00:16  [ТС] 20
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
#include <iostream>
using namespace std;
 
 
int main()
{  
int a;
cout << "Enter 1 to start, or 0 to end and press ENTER: \n";
cin >> a;
do 
{
    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 "<<  j <<" in cube! \n";
            
                break;
            }
        }
    }
 
    return 0;
}
while (a > 0)
return 0;
}
с циклами не дружу, жду критики и помощи
0
21.09.2010, 00:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2010, 00:16
Помогаю со студенческими работами здесь

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

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

Подсчитать количество натуральных чисел являющихся палиндромами
Подсчитать количество натуральных чисел n (11 &lt;= n &lt;= 999), являющихся палиндромами, и распечатать...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru