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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2017, 17:16   #1
Андрій00,2
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 34
По умолчанию Цикл while в си.

Дано шестизначное число, определить и вывести позицию первой цифры, больше заданной цифры пользователя
Мой код:
Код:
#include<iostream>
#include<windows.h>
#include<math.h>
using namespace std;
int main()
{
   
{
    int x,y,i;

    printf ( "input namber,please: " ); 
    scanf ( "%d", &x); 
printf("input number:");
scanf("%d",&y);
    printf ( "%d\t%d\t%d\t%d\t%d\t%d\n",(x/100000), ((x/10000)%10), ((x/1000)%10), ((x/100)%10), ((x/10)%10),(x%10));
    
    while (x<y)
    {
	 i=1;
    if (a>y)
    cout<<i;
    else
    i++;
    
}
cout<<i;
    return 0;
}
}

подскажите пожалуйста как в данной ситуации правильно использовать цикл while
Андрій00,2 вне форума Ответить с цитированием
Старый 24.10.2017, 17:19   #2
Андрій00,2
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 34
По умолчанию

там вместо а х
Андрій00,2 вне форума Ответить с цитированием
Старый 24.10.2017, 17:34   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так вы ж в printf уже вывели цифры, вот примерно тоже самое и в цикле надо делать (делить на 10 и брать остаток пока есть что делить).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.10.2017, 17:41   #4
Андрій00,2
Пользователь
 
Регистрация: 24.10.2017
Сообщений: 34
По умолчанию

Код:
 while (x>0)
    {
  x=(x/10)%10;
  
	 i=1;
    if (x>y)
    cout<<i;
    else
    i++;
Андрій00,2 вне форума Ответить с цитированием
Старый 24.10.2017, 18:22   #5
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Как это работает?
Код:
x=(x/10)%10;
А ну, выведи мне несколько раз работы "этого" (только не в цикле - это путает, а "просто") ...
Типа такого:

1.jpg

Продолжай вывод, пока всё число не "пройдёт по разрядам"...

Т.е. на примере какого-то числа "х", проследить работу формулы "x=(x/10)%10;".
ura_111 вне форума Ответить с цитированием
Старый 24.10.2017, 18:39   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Я заметил, что у тебя постоянно "уменьшается степень" (от 6-ти до 0-ля):

2.jpg


А как в Си "10 возвести в степень, ну например, 3"?

Сделай и эту задачу (к придачу к предыдущей): выведи на экран "10 в степени i, где i от 6-ти до 0-ля".

Последний раз редактировалось ura_111; 24.10.2017 в 18:44.
ura_111 вне форума Ответить с цитированием
Старый 24.10.2017, 18:52   #7
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

И ещё одно сделай. Поищи на этом форуме задачу на подобие твоей; по ключевым словам: "остаток от деления", "разряд числа"... (придумай сам). Короче, может быть прям твою задачу найти не удаться, но близкую - вполне - т.к. подобные темы часто поднимается на форуме.
ura_111 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если поставить цикл For в цикл Repeat то как будут выполняться циклы? Владимир10101 Помощь студентам 3 14.11.2016 20:14
написать процедуры для “Цикл For ... Next ” и «Цикл Do ... Loop» по ниже приведенному условию Кристина_Патачиц Microsoft Office Excel 3 17.04.2013 17:01
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34