0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 11
1

Вывести все числа от A до B включительно в порядке возрастания

18.12.2022, 21:01. Показов 2068. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как оптимизировать программу?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main(){
  int A, B;
  cin >> A >> B;
  if(A > B){
    while (B != A){
       cout << B << " ";
       B-= 1;
    }
    cout << A;
  }
  else{
    while (B != A){
       cout << B << " ";
       B+= 1;
    }
    cout << A;
  }
  return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2022, 21:01
Ответы с готовыми решениями:

Вывести все числа между A и B включительно в порядке возрастания
Выведите на экран все числа между A и B включительно в порядке возрастания. Формат входных данных...

Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае.
пробовала сделать ,но выдаёт ошибки я не понимаю,что он требует ТЕКСТ ЗАДАЧИ. Даны два целых...

Выведите все числа от A до B включительно, в порядке возрастания
Даны два целых числа A и В (каждое в отдельной строке). Выведите все числа от A до B...

Выведите все числа между A и B включительно в порядке возрастания
Выведите на экран все числа между A и B включительно в порядке возрастания. Формат входных данных...

15
фрилансер
5491 / 5088 / 1045
Регистрация: 11.10.2019
Сообщений: 13,307
18.12.2022, 21:08 2
Mr Lyagushka, оптимизировать тут нечего, а вот исправить возможно
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
#include <iostream>
 
int main()
{
    int A, B;
    std::cin >> A >> B;
    if(A > B)
    {
        while (B != A)
        {
            std::cout << B << " ";
            A-= 1;
        }
        std::cout << A;
    }
    else
    {
        while (B != A)
        {
            std::cout << B << " ";
            A+= 1;
        }
        std::cout << A;
    }
    return 0;
}
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
18.12.2022, 21:08 3
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Как оптимизировать программу?
Что программа должна делать?
0
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 11
18.12.2022, 21:14  [ТС] 4
Даны два целых числа A и B. Выведите все числа от A до B включительно в порядке возрастания, если A<B, или в порядке убывания в противном случае.

Входные данные

Вводятся два целых числа, не превосходящих 200 по абсолютному значению.

Выходные данные

Выведите ответ к задаче.

Добавлено через 1 минуту
у тебя программа быстрая, но неправильная

Добавлено через 1 минуту
у тебя программа быстрая, но неправильная
0
Модератор
Эксперт С++
13491 / 10747 / 6405
Регистрация: 18.12.2011
Сообщений: 28,680
18.12.2022, 22:12 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int main()
{
    int A, B;
    std::cin >> A >> B;
    do
    {
        std::cout << A<<' ';
        if(A > B)
            A--;
        else
            A++;
    }while (B != A);
    std::cout << A<<' ';
    return 0;
}
0
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 11
18.12.2022, 22:12  [ТС] 6
Почему это не работает, хотя должно!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main(){
int A, B, s;
cin >> A >> B;
while(A != B){
s = A%2;
while(s == 0){
cout << A << " ";
A+=2;
}
while(s != 0){
A+=1;
}
}
return 0;
}
0
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 11
18.12.2022, 22:14  [ТС] 7
Ошибка где то тут
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
#include <iostream>
 
int main()
{
    int A, B;
    std::cin >> A >> B;
    if(A > B)
    {
        while (B != A)
        {
            std::cout << B << " ";
            A-= 1;
        }
        std::cout << A;
    }
    else
    {
        while (B != A)
        {
            std::cout << B << " ";
            A+= 1;
        }
        std::cout << A;
    }
    return 0;
}
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
18.12.2022, 22:15 8
что должно? Тут абракадабра считается.
C++
1
2
3
4
while(s == 0){
cout << A << " ";
A+=2;
}
пока S равно нулю выводить A A+2 A+4 A+8...?
А заканчивать-то вывод когда? Если Эс равно нулю, то оно всегда будет равно нулю, и цикл всегда будет исполняться, может ты другое условие хотел в цикле?
0
Вездепух
Эксперт CЭксперт С++
11684 / 6363 / 1723
Регистрация: 18.10.2014
Сообщений: 16,037
18.12.2022, 22:18 9
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Почему это не работает
Почему не работает? Прекрасно работает!

Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
C++
1
2
3
4
while(s == 0){
  cout << A << " ";
  A+=2;
}
В чем смысл цикла, который либо вообще не выполняется, либо выполняется бесконечно?
0
2793 / 2303 / 701
Регистрация: 29.06.2020
Сообщений: 8,533
18.12.2022, 22:31 10
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Ошибка где то тут
Ошибка в том, что вы не описали ожидаемое (желаемое) поведение программы.
Без этого не имеет смысла говорить о каких-либо ошибках.
Синтаксически программа рабочая, компилируется, выполняется.
1
Вездепух
Эксперт CЭксперт С++
11684 / 6363 / 1723
Регистрация: 18.10.2014
Сообщений: 16,037
18.12.2022, 22:33 11
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Ошибка где то тут но я её не вижу
Нет тут никакой ошибки. Все работает прекрасно.
0
4761 / 2571 / 891
Регистрация: 29.11.2010
Сообщений: 5,551
18.12.2022, 23:34 12
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Ошибка где то тут но я её не вижу
А с чего вы взяли, что она есть?

Все работает. Синтаксически чистенько.

Даже TheCalligrapher заценил. Хотя уж он-то найдёт чушь и ахинею даже там, где её по общему мнению быть не может.

Сложно стопроцентно сказать, что код делает, но, видимо, выводит второе число количество раз, равное модулю разницы между первым и вторым числом плюс один? Правильно?
0
Вездепух
Эксперт CЭксперт С++
11684 / 6363 / 1723
Регистрация: 18.10.2014
Сообщений: 16,037
19.12.2022, 02:23 13
Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
Как оптимизировать программу?
Невозможно оптимизировать некорректную/бесмысленную программу. Программа не работает правильно. И пока она не работает правильно, оптимизировать нечего.

Цитата Сообщение от Mr Lyagushka Посмотреть сообщение
C++
1
2
3
4
5
 if(A > B){
    while (B != A){
       cout << B << " ";
       B-= 1;
    }
Так как B < A и переменные имеют знаковый тип, цикл никогда не завершится, переменная B переполнится, что приведет к неопределенному поведению.

Та же самая проблема и со вторым циклом.
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
23.12.2022, 11:50 14
автору плевать?
0
660 / 661 / 106
Регистрация: 29.05.2015
Сообщений: 3,961
23.12.2022, 14:12 15
C++
1
2
3
4
5
6
        while (B != A)
        {
            std::cout << B << " ";
            A-= 1;
        }
        std::cout << A;
Потому что ты в цикле выводишь на экран переменную В, которая не меняется. А по окончании цикла один раз выводишь на экран переменную А, которая по условию цикла стала равна переменной В.
0
Просто Лис
Эксперт Python
5688 / 3493 / 1049
Регистрация: 17.05.2012
Сообщений: 10,296
Записей в блоге: 9
23.12.2022, 19:45 16
Так пробел лишний в конце выводимой строки.

Добавлено через 10 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
// Даны два целых числа A и B.
// Выведите все числа от A до B включительно в порядке возрастания, если A<B,
// или в порядке убывания в противном случае.
int main() {
    int a, b;
    std::cin >> a >> b;
    if(a < b) {
        std::cout << a;
        for (int i = a + 1; i <= b; i++) std::cout << ' ' << i;
    }
    return 0;
}
0
23.12.2022, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2022, 19:45
Помогаю со студенческими работами здесь

Все числа от 1 до К включительно отсортируйте в порядке возрастания суммы делителей числа (сортировка пузырьком)
1. С клавиатуры вводится натуральное число К. Все числа от 1 до К включительно отсортируйте в...

Вывести все числа от A до B включительно, в порядке возрастания, если A <B, или в порядке убывания в противном случае
Вариант 1 Даны два целых числа A и В (каждое в отдельной строке). Выведем все числа от A до B...

Вывести все простые числа в порядке возрастания от M до N включительно
Не понимаю, где может быть ошибка. Пишу в VS 17. Выводит, что ошиба в синтаксиcе (в частности...

Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае
Нужна помощь по scheme, не могу понять как оно должно выглядеть (define a (read)) (define b...

Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае
Нужна помощь по scheme, не могу понять как оно должно выглядеть (define a (read)) (define b...

Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае
Пытаюсь освоить рекурсию, пока больше &quot;методом тыка&quot;, правда... Вроде, несложная задача на вывод...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

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