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

Написать с помощью if - C++

Восстановить пароль Регистрация
 
newius
0 / 0 / 0
Регистрация: 17.10.2011
Сообщений: 3
17.10.2011, 05:29     Написать с помощью if #1
Написать с помощью if:
Задание: Дано натуральное четырехзначное число n. Верно ли, что все четыре цифры числа различны, как, например, различны все 4 цифры следующих чисел: 0123, 9760, 5432.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2011, 05:29     Написать с помощью if
Посмотрите здесь:

написать программу вычисляющие ИМЛ с помощью узлов Чебышева C++
C++ Написать программу с помощью цикла
Написать программу для нахождения значения функции с помощью ряда Тейлора C++
C++ Написать программу, вычисления площади фигуры Программа должна управляться с помощью меню из шести пунктов:
C++ написать прогу для вычисления разности двух массивов с помощью функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
17.10.2011, 05:57     Написать с помощью if #2
особо не вымудряясь, вот тебе полный набор 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
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
    setlocale(LC_ALL,"");
    bool various = false;
    int num;
    char mnum[5];
    cout <<"Ввод числа: \n";
    cin >> num;
    sprintf(mnum,"%d",num);
    if( mnum[0] !=  mnum[1])
        if( mnum[2] !=  mnum[0]  &&   mnum[2] !=  mnum[1])
            if( mnum[3] !=  mnum[2]  &&   mnum[3] !=  mnum[1]   &&   mnum[3] !=  mnum[0])
                various = true;
                
    if (various)
        cout << "числа различны";
    else            
        cout << "числа не различны";        
    getch();    
}
newius
0 / 0 / 0
Регистрация: 17.10.2011
Сообщений: 3
17.10.2011, 06:49  [ТС]     Написать с помощью if #3
Спасибо большое, но мне необходимо без массивов.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
17.10.2011, 09:43     Написать с помощью if #4
Замени mnum[0]...mnum[3] на 4 любых буквы, только чтоб буквы совпадали как здесь.
nnina
 Аватар для nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
20.11.2011, 10:52     Написать с помощью if #5
Работает только если вводить все четыре цифры одинаковые или все разные, если вводить, например, число с двумя одинаковыми и двумя разными цифрами, то результат определяется неверно.
Как это исправить?
Байт
 Аватар для Байт
14001 / 8832 / 1234
Регистрация: 24.12.2010
Сообщений: 16,008
20.11.2011, 11:26     Написать с помощью if #6
jonson, Предположим, что все правильно (в частоколе ифов не стал влезать в подробности).
А что если цифр 6? или 9?
Я бы предложил такое решение
C
1
2
3
4
5
6
7
varios = true;
for(i=0; i<N;i++) {
  for(j=i+1; j<N; j++) {
    if (mnum[i]==mnum[j]) { varios = false; break; }
  }
  if (j<N) break;
}
Правда, здесь нарушается ограничение на неиспользование массивов, но для изучающего язык, я считаю это ограничение как минимум странным.
Хотя если это игра в ребусы, тогда пожалуй.
Yandex
Объявления
20.11.2011, 11:26     Написать с помощью if
Ответ Создать тему
Опции темы

Текущее время: 22:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru