Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/64: Рейтинг темы: голосов - 64, средняя оценка - 4.75
 Аватар для Nastassja.i
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 23

Вывести на экран: все двухзначные числа, в записи которых все цифры разные

06.11.2011, 15:30. Показов 13188. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте) Помогите пожалуйста разобраться с задачкой...

Вывести на экран: все двухзначные числа, в записи которых все цифры разные. Решить задачу нужно тремя способами - используя операторы цикла while, do while и for.

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
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("vvedite A");
            float a = Convert.ToSingle(Console.ReadLine());
            Console.WriteLine("vvedite B");
            float b = Convert.ToSingle(Console.ReadLine());
            Console.WriteLine("cikl for");
            for (float i = a; i <= b; i++)
            {
                float z1 = i % 10;
                float r1 = (i - z1) / 10;
                float r2 = r1 % 10;
                if (z1 > r2 || z1 < r2)
                {
                    Console.Write("; " + i);
                }
            }
            Console.WriteLine();
            Console.WriteLine("cikl while");
            float i2 = a;
            while (i2 <= b)
            {
                float z1 = i2 % 10;
                float r1 = (i2 - z1) / 10;
                float r2 = r1 % 10;
                if (z1 > r2 || z1 < r2)
                {
                    Console.Write(i2 + "; ");
                }
                i2++;
            }
            Console.WriteLine();
            Console.WriteLine("cikl do while");
            float i3 = a;
            do
            {
                float z1 = i3 % 10;
                float r1 = (i3 - z1) / 10;
                float r2 = r1 % 10;
              
                if (z1 > r2 || z1 < r2)
                {
                    Console.Write(i3 + "; ");
 
                }
                i3++;
            } while (i3 <= b);
            Console.ReadKey();
        }
    }
}
Она ничего не выводит, я вроде делю на десятки и единицы, сравниваю, что не так не понимаю... Помогите пожалуйста...

Добавлено через 33 минуты
Помогите пожалуйста(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2011, 15:30
Ответы с готовыми решениями:

Выведите на экран все двухзначные числа, сумма цифр которых равна 11
Дано задание в C#: Выведите на экран все двухзначные числа, сумма цифр которых равна 11. Какой код тут нужен?

Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры
Даны четырехзначные натуральные числа N и K. Из чисел от N до K выбрать те, запись которых содержит ровно три одинаковых цифры.

Вывести на экран все трехзначные числа, в которых хотя бы две цифры повторяются
Здравствуйте, Помогите, пожалуйста, найти ошибку. Циклом while и do while работает, а for не хочет... выводит тысячи Сама задача:...

13
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
06.11.2011, 18:41
Алгоритм сомнительный. Если а<b получается, вообще цикл не работает? Можешь изначальное техзадание выложить?) Ты сравниваешь новыые переменные свои, ничего ничему не присваиваешь и выводишь нИ в чем неповинную i . Он же у тебя тут просто как счетчик выступает) То же самое с другими айками))
0
Level 2
 Аватар для FakiR
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
06.11.2011, 18:47
viktorrrr, должно выводиться i насколько я понимаю, исходя из кода. Но задание расходится с тем что написано в коде.
0
7 / 7 / 2
Регистрация: 18.10.2011
Сообщений: 40
06.11.2011, 18:55
Nastassja.i, Выписать все двузначные, у которых цифры разные?
То есть 10,12,14,15,16,17,18,19,20,21,23?
Тогда есть очевидный и легкий способ-если число делится нацело на 11(если не ошибаюсь, то
C#
1
if(chislo%11!=0){Console.Write(.....)}
, то мы его не выписываем.Иначе-выписываем
1
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
06.11.2011, 19:17
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main()
        {
            int[] a = new int[] { 11, 12, 13, 22, 23, 24, 33, 34, 35 };
 
            int z1;
                    
            for (int i = 0; i < a.Length; i++)
            {
               
                z1=a[i];
                if (z1 % 11 != 0)                   
                Console.WriteLine("; " + z1);
               
            }
            Console.WriteLine();
            Console.ReadLine();
            
        }
    }
}
Overdoser, Действительно ж)). Ну ты мозг) А я сижу как дурак думаю)))
1
7 / 7 / 2
Регистрация: 18.10.2011
Сообщений: 40
06.11.2011, 19:22
viktorrrr, Не очень понял часть кода, но тут проще делается:
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication3
{
    class Program
    {
        static void Main()
        {for (int i = 10; i < 100; i++)
            {if (i % 11 != 0)                   
             Console.Write(";" + i);
             }
//2 способ:
int a=10;
Console.WriteLine();
while (a<100)
{if (a%11!=0) 
Console.Write(";"+a);
a++;}
 
//3 способ:
a=10;
Console.WriteLine();
do
{if (a%11!=0) 
Console.Write(";"+a);
a++;}
while (a<100);
            
            Console.ReadLine();
            
        }
    }
}
1
45 / 47 / 4
Регистрация: 11.02.2010
Сообщений: 376
06.11.2011, 19:26
Цитата Сообщение от Overdoser Посмотреть сообщение
viktorrrr, Не очень понял часть кода, но тут проще делается:
Ей как я понял, нужны двухзначные числа только. Поэтому готовый массив набрал.

Тем более, ей еще два вида циклов надо реализовывать. Чем плодить переменные, лучше с одним массивом работать
0
7 / 7 / 2
Регистрация: 18.10.2011
Сообщений: 40
06.11.2011, 19:29
viktorrrr, Какие массивы, емае.(прогу смотри мою выше)
У нас уже есть фиксированные значения: от 10 до 99.
PS.Я читаю условие задачи, а не решение.
Если ей нужно на фиксированном отрезке, то здесь сразу же вопросы:числа могут быть не двузначными?Если только двузначные, то вместо 10 ставит начало отрезка, вместо 100 конец отрезка+1.
Если могут быть не только двузначными, то то же, что и выше,только добавляем еще проверку на двузначность
0
 Аватар для Nastassja.i
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 23
06.11.2011, 21:16  [ТС]
Спасибо Overdoser и viktorrrr. Я действительно что-то ступила, не подумав о делении на 11. С массивом вариант мне не подходит. А вот вариант Overdoser точный, только организовала ввод с клавиатуры интервала, и вместо 10 и 100, соответственно интервал. Вот рабочий вариант...

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
48
49
50
51
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Введите A");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите B");
            int b = int.Parse(Console.ReadLine());
            Console.WriteLine("Цикл for");
 
            for (int i = a; i < b; i++)
            {
                if (i % 11 != 0)
                {
                    Console.Write(";" + i);
                }
            }
            Console.WriteLine();
            Console.WriteLine("Цикл while");
 
            //2 способ:
            int i2 = a;
            Console.WriteLine();
            while (i2 < b)
            {
                if (i2 % 11 != 0)
                    Console.Write(";" + i2);
                i2++;
            }
            Console.WriteLine();
            Console.WriteLine("Цикл do while");
 
            //3 способ:
            int i3 = a;
            Console.WriteLine();
            do
            {
                if (i3 % 11 != 0)
                    Console.Write(";" + i3);
                i3++;
            }
            while (i3 < b);
            Console.ReadKey();
        }
    }
}
Спасибо, Вам)
0
 Аватар для Nastassja.i
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 23
06.11.2011, 21:24  [ТС]
Ребят, а еще с одной не поможете, в этой вроде всё сделала, не пойму какое еще ограничение добавить, точнее как его описать.
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений "Да", "Нет", "На границе" в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе.
График прикреплен.
Вот что вышло у меня...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication3_4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("x=");
            float x = float.Parse(Console.ReadLine());
            Console.Write("y=");
            float y = float.Parse(Console.ReadLine());
            if (x > 0 && y > 0 && x * x + y * y < 10)
                Console.WriteLine("внутри");
            else if (x < 0 && y < 0)
                Console.WriteLine("вне");
            else Console.WriteLine("на границе");
            Console.ReadKey();
        }
    }
}
Изображения
 
0
7 / 7 / 2
Регистрация: 18.10.2011
Сообщений: 40
06.11.2011, 21:45
Nastassja.i, Не смотрю на вашу программу-просто говорю свои мысли.
Задача довольно простая, связана с совокупностью двух неравенств относительно уравнений(в данном случае прямой и окружности).
Найдем уравнение прямой и окружности:
у окружности:
x^2+y^2=R^2=5^2=25;
у прямой:
y=-x.
Анализируем штриховку относительно y функций.
Она выше y прямой, т.е. y точки должно быть >= y прямой или >= -Х самой точки.

Смотрим на окружность:штриховка лежит внутри окружности,т.е. сумма квадратов координат должна быть меньше радиуса окружности в квадрате.:
x^2+y^2<=25

Соответственно вот тебе два условия:
Y>-X;
X^2+Y^2<25.
В зависимости от результата делаешь выборку:если хотя бы одно не выполняется,то значит "НЕТ".Если левая и правая часть обоих неравенств равна,значит "На границе".
Если неравенства выполняются,значит "Да"
0
2 / 2 / 0
Регистрация: 12.10.2011
Сообщений: 93
07.11.2011, 01:32
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
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("x=");
            float x = float.Parse(Console.ReadLine());
            Console.Write("y=");
            float y = float.Parse(Console.ReadLine());
 
            // 10- это радиус а уравнение окружности x^2 + y^2 = 10^2
            if (y > -x && x * x + y * y < 100)
            {
                Console.WriteLine("Внутри");
            }
            else if (y < -x && x * x + y * y > 100)
            {
                Console.WriteLine("Снаружи");
            }
            else Console.WriteLine("На границе");
 
            Console.ReadKey();
        }
    }
}
0
 Аватар для Nastassja.i
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 23
14.11.2011, 17:15  [ТС]
Overdoser радиус не 5, а 10.
WST_Lucifer, а если ввести координаты х=-6, y=1, программа пишет на границе, хотя должна писать вне...или я не правильно понимаю задание?

Добавлено через 2 минуты
Хотя, если в кусочке

C#
1
2
3
4
5
6
7
if (y > -x && x * x + y * y < 100)
            {
                Console.WriteLine("Внутри");
            }
            else if (y < -x || x * x + y * y > 100)
            {
                Console.WriteLine("Снаружи");
после else ввести или, то вроде работает)

Добавлено через 6 минут
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("x=");
            float x = float.Parse(Console.ReadLine());
            Console.Write("y=");
            float y = float.Parse(Console.ReadLine());
 
            // 10- это радиус а уравнение окружности x^2 + y^2 = 10^2
            if (y > -x && x * x + y * y < 100)
            {
                Console.WriteLine("Внутри");
            }
            else if (y < -x || x * x + y * y > 100)
            {
                Console.WriteLine("Снаружи");
            }
            else Console.WriteLine("На границе");
 
            Console.ReadKey();
        }
    }
}
А в каких случаях на границе будет?

Добавлено через 12 минут
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("x=");
            float x = float.Parse(Console.ReadLine());
            Console.Write("y=");
            float y = float.Parse(Console.ReadLine());
 
            // 10- это радиус а уравнение окружности x^2 + y^2 = 10^2
            if (y > -x && x * x + y * y < 100)
            {
                Console.WriteLine("Внутри");
            }
            else if (((y==-x) && (x*x+y*y <= 100)) || ((y>-x) && (x*x+y*y == 100)))
            {
                Console.WriteLine("На границе");
            }
            else Console.WriteLine("Снаружи");
 
            Console.ReadKey();
        }
    }
}
Или так нужно, подскажите пожалуйста)
0
2 / 2 / 0
Регистрация: 12.10.2011
Сообщений: 93
14.11.2011, 21:47
Правильно, нужно было там поменять на ИЛИ.

Условие для "на границе" - все остальное, но если хотите конкретно, то так
C#
1
2
3
if ((y == -x && x * x + y * y <= 100) || x * x + y * y == 100 && y >= -x))
 
            Console.WriteLine("На границе");
Добавлено через 1 минуту
Сорри, не заметил что у вас уже готово правильно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2011, 21:47
Помогаю со студенческими работами здесь

Вывести на экран все числа из отрезка [a; b] : в записи которых встречается цифра С
Так,я только начал на шарпе,поэтому чёт не знаю,как реализовать свои мысли:) Вообщем хочу число разбивать,чтобы проверить на наличие...

Вывести все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1
Добрый день, нужно написать программу тремя способами - используя операторы цикла while, do while и for. Нужно вывести все двухзначные...

Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр
Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр (операции деления не...

Удалить из одномерного массива все элементы, в записи которых все цифры различны
В одномерном массиве, элементы которого являются целыми числами, произвести следующие действия: удалить из массива все элементы, в записи...

Выведите на экран все трехзначные числа, в которых хотя бы две цифры повторяются
Решите задачу тремя способами – используя операторы цикла while, do while, и for.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru