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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
#1

Организация цикла С++ - C++

22.08.2012, 19:01. Просмотров 1293. Ответов 25
Метки нет (Все метки)

Добрый день. Нужно организовать ниже приведенный код таким образом чтобы программа никогда не выводила более 10 чисел в одной строке, и организовать это при помощи инструкции while или for, и без участия if (а также без логического оператора !, и арифметического оператора деление по модулю %). Как мне кажется, осуществить это можно при помощи вложений одного цикла в другой, но знаний для этого у меня не достаточно.

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
// Программа, которая запрашивает у пользователя два числа и
// выводит все числа, которые находятся между ними
#include <iostream>
 
int main()
{
 std::cout << "Введите, пожалуйста, 2 числа: ";
 int a, b;
 int max, min;
 std::cin >> a >> b;
 // проверка на то, какое число меньше, чтобы с него
 // начать отчёт
 if (a >= b) {
   max = a;
   min = b;  
 }
 else {
   max = b;
   min = a;
 }
 /*
 // организация при помощи цикла while
 while ( max > min ) {
   ++min;
   std::cout << min << " " << std::endl;
   } */
 // организация при помощи цикла for
 for (; max > min; ++min) {
   std::cout << min << " ";
   /* if (!(min%10)) std::cout << "\n"; // можно решить задачу
при помощи логического оператора !,
и арифметического оператора деление по модулю %. Но данный метод
не подходит по условию. */
 }
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2012, 19:01     Организация цикла С++
Посмотрите здесь:

Организация исходников - C++
Не нашел в гугле толковый инфы. Вот есть у меня допустим два класса, нейрон и перцептрон. Описал я их в .h. Реализовал в .cpp одном. Но...

Организация памяти. - C++
Здравствуйте. Объясните, пожалуйста, вот что: Допустим есть класс, с определенным количеством полей и определенным набором методов. При...

Организация программы - C++
Здравствуйте уважаемые программисты! Есть такая задача: Используйте одномерный массив для решения задачи. Компания платит своим...

Организация БД по дате - C++
Тема далеко не новая и некоторые наводки на решения я находил уже на форуме, но лишь наводки. Суть такая: При вводе данных в БД в...

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

Организация Меню в С++ - C++
Привет!!!!!!!!!! Народ подскажите как создать меню в С++ в консольном приложении???

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.08.2012, 22:07     Организация цикла С++ #21
При a != b вот так можно:
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>
int main()
{
    int j, i, a, b;
    std::cout << "Ââåäèòå, ïîæГ*ëóéñòГ*, 2 Г·ГЁГ±Г«Г*: ";
    std::cin >> a >> b;
 
    for(i = a; i <= b; )
    {
        for (j = 0; (j < 10) * (i <= b); ++i, ++j)
           std::cout << i << ' ';
        std::cout << std::endl;
    }
    for(i = b; i <= a; )
    {
        for (j = 0; (j < 10) * (i <= a); ++i, ++j)
           std::cout << i << ' ';
        std::cout << std::endl;
    }
    std::system("pause");
    return 0;
}
При a<=b просто удалите второй for
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
22.08.2012, 22:16  [ТС]     Организация цикла С++ #22
Отличный вариант! Благодарю за помощь. Подходит под все условия. Я тут тоже мысль намыслил, как по мне, чуть по-проще:

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
// Программа выводящая на экран числа, в диапазоне                              
// обозначенном пользователем, при условии,                                     
// что в каждой строке не будет более 10 цифр                                   
// при помощи инструкции while или for (без if;                                 
// ==; !=; !; &&; ||                                                            
 
#include <iostream>
 
int main()
{
  int a, b, max, min;
  std::cout << "Введите, пожалуйста, два числа: ";
  std::cin >> a >> b;
  // инициализация переменных min и max                                         
  min = a;
  max = b;
  while (min < max) {
    for (int j = 0; j <= 9; ++j)
      std::cout << ++min << " ";
    std::cout << "\n";
  }
  // повторная инициализация для нового цикла                                   
  min = a;
  max = b;
  while (max < min) {
    for (int j = 0; j <=9; ++j)
      std::cout << ++max << " ";
    std::cout << "\n";
  }
  return 0;
}
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.08.2012, 22:19     Организация цикла С++ #23
xtorne21st, а попробуйте в своем варианте числа a=1, b=5. Не то получится при условии что нужно вывести от 1 до 5 (и ничего лишнего)
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
22.08.2012, 22:28  [ТС]     Организация цикла С++ #24
Да, действительно не то. Не могу разобраться в вашем коде. Не пойму условие цикла:
C++
1
(j < 10) * (i <= b)
. Как оно работает?
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.08.2012, 22:31     Организация цикла С++ #25
Любое целое ненулевое число в С/С++ это истина. Далее, любое логическое выражение приводится к 0 (ложь) или 1 (истина). Поэтому
(j < 10) * (i <= b)
равносильно
(j < 10) && (i <= b),
так как выражения в скобках равно 0 либо 1. Если оба выражения истинны, то при произведении получаем 1 (истина), иначе 0 (ложь)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2012, 23:00     Организация цикла С++
Еще ссылки по теме:

Организация программы. - C++
Здравствуйте. Как организовать программу? Дана матрица с ней производится ряд операций. После этих операций матрица проверяется на...

Организация наследования - C++
Здраствуйте! У меня есть несколько классов: class Base { public: int baseGet() { return i; } void...

Организация счетчика - C++
Доброго вечера, форумчане) вопрос начинающего программиста, как организовать счетчик при помощи побитовых операций? Т.е., как я понимаю...

Организация меню - C++
Само задание сделал, но не могу понять, как делать менюшку _________________________________________ Описать структуру с именем ORDER,...

Организация циклов в C++ - C++
Не могу никак справиться с этим заданием: Дано натуральное число N: опредилить наименьшую цифру с чётным номером Оч нужна помощь....


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

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
22.08.2012, 23:00  [ТС]     Организация цикла С++ #26
Теперь всё ясно. А я начал мыслить в сторону хитроумного арифметического выражения. Ещё раз спасибо. Тему можно закрывать
Yandex
Объявления
22.08.2012, 23:00     Организация цикла С++
Ответ Создать тему
Опции темы

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