Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2019, 01:46   #1
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
Стрелка [РЕШЕНО][C++] Вывести 100 первых натуральных чисел в столбик, если число делится нацело на 3 вывести вместо него fizz, если нацело на 5 — вывести bizz, если на 3 и на 5 — fizzbizz

Вывести первых 100 натуральных чисел на экран в столбик, но если число делится без остатка на 3 вывести вместо него «fizz», если число делится без остатка на 5 вывести вместо него «bizz». Если число делится и на 3 и на 5 вывести вместо него «fizzbizz».
Решить задачу используя лишь 2 оператора if.!!!!!!!!!!!!!!!!!
___________________________
Всю голову переломал,как подскажите
Код:
#include <iostream>
#include <string.h>
using namespace std;

int main()
	{
	for (int i = 1; i <= 100; i++)
	{
		if (i % 3 == 0 || (i % 3 == 0 && i % 5 == 0)) { cout << " " << "fizz";}
		if (i % 5 == 0) { cout << "bizz"<<" "; }
		else cout <<" "<< i << " ";
	}
	cout << endl;
	system("pause");
	return 0;
	}
bylbyl9tor вне форума Ответить с цитированием
Старый 03.03.2019, 10:36   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Давно никогда не писал на ++, но вроде как-то так, исходя из "простого" Си:
Код:
for (int i = 1; i <= 100; i++)
	{
		if (i % 15 == 0)  cout << " " << "fizzbizz" ;
		else if (i % 5 == 0)  cout << "bizz"<<" "; 
		else if (i % 3 == 0)  cout << "fizz"<<" "; 
		else cout <<" "<< i << " ";
	}
digitalis вне форума Ответить с цитированием
Старый 03.03.2019, 12:52   #3
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
По умолчанию Решить задачу используя лишь 2 оператора if

Решить задачу используя лишь 2 оператора if
bylbyl9tor вне форума Ответить с цитированием
Старый 03.03.2019, 13:07   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Через тернарные операторы пойдёт?
Код:
for (int i = 1; i <= 100; i++) {
  if (i % 15 == 0) {
    cout << 'fizbiz' << endl;
  } else if (i % 5 == 0) {
    cout << 'biz' << endl;    
  } else {
    cout <<  i % 3 == 0 ? 'fiz' : i << endl;    
  }
}
Вадим Мошев вне форума Ответить с цитированием
Старый 03.03.2019, 13:29   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Если бы на ФОРТРАНЕ, было бы просто: там операторы ветвления "трехрожковые": +, 0 и -.
В очередной раз удивляюсь идиотизму учебных задач. Как будто число if'ов в коробке ограничено или за каждый платить надо немерянно. Прога должна выполнять свои функции и быть легко понимаемой, а сколько там if'ов - никго не должно колыхать.
digitalis вне форума Ответить с цитированием
Старый 03.03.2019, 13:30   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

можно в три строки засунуть fizz, bizz и строковое представление числа
если кратно 3 строку с числом очистить иначе очистить строку с fizz
если кратно 5 строку с числом очистить иначе очистить строку с bizz
выдать конкатенацию этих строк

Цитата:
сколько там if'ов - никго не должно колыхать
должно, читаемость, сопровождаемость. С двумя сравнениями пожалуй хуже будет читаться )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 03.03.2019 в 13:34.
Аватар вне форума Ответить с цитированием
Старый 03.03.2019, 13:46   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
а сколько там if'ов - никго не должно колыхать.
Возможно, задача просто для тренировки мозгов...
Вадим Мошев вне форума Ответить с цитированием
Старый 03.03.2019, 13:53   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
должно, читаемость, сопровождаемость.
Ну дык и я говорю:
Цитата:
Прога должна выполнять свои функции и быть легко понимаемой
digitalis вне форума Ответить с цитированием
Старый 03.03.2019, 14:02   #9
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
По умолчанию

не работает, ругается
bylbyl9tor вне форума Ответить с цитированием
Старый 03.03.2019, 14:18   #10
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от bylbyl9tor Посмотреть сообщение
не работает, ругается
Я C++ не знаю, но написал, думаю, правильно. Какие ошибки выдает? На что ругается?
По правде говоря, я писал, ориентируясь на JS, а потом просто заменил характерные конструкции. У меня всё работало.

Последний раз редактировалось Вадим Мошев; 03.03.2019 в 14:20.
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Дана последовательность натуральных чисел a1,a2,a3,an.Создать массив из четной последовательности если четных нет вывести Макас C# (си шарп) 2 28.12.2017 11:25
Даны три вещественных числа Если они принадлежат данному отрезку , то вывести их на печать в порядке возрастания. Если ни одно число не принадлежит отрезку, вывести сообщение об эт Lushov Помощь студентам 0 02.12.2016 18:28
Даны натуральные K и L. Определить, делится ли K нацело на L. Если делится, то заменить эти числа их квадратами, в противном случ Proskurina Помощь студентам 1 27.03.2013 21:39
С++ айти первых 10 натуральных чисел, нацело делятся на 19 и находятся в интервале, левая граница которог loloverg Помощь студентам 2 25.05.2010 19:42