Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
1

Простенькая для вас задача посмотрите если не трудно

18.04.2012, 16:00. Просмотров 727. Ответов 6
Метки нет (Все метки)

Дано натуральное число n (n<10000). Определить сколько цифр в числе, найти первую цифру числа, найти предпоследнюю цифру числа.
P.s Только важное условие чтобы при невыполнении условий, программа не работала.

Есть похожая программа для n<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
#include <stdio.h> 
#include <conio.h> 
#include <stdlib.h>
 
int digits(int x) 
{ 
int c,cnt=0; 
while(x) 
{ 
c=x; 
cnt++; 
if(cnt==2) 
{ 
printf("Second last -> %d\n",c); 
} 
x/=10; 
} 
return cnt; 
} 
 
int main() 
{ 
int x; 
printf("Enter x=N, x<100 -> "); 
scanf("%d",&x); 
if (x>=100||x<0) {printf("!!!Eror x>=100 or x<0 or x!=N\n");system("pause"); exit(0);}
printf("Number digits -> %d\n",digits(x)); 
getch(); 
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2012, 16:00
Ответы с готовыми решениями:

Простенькая задачка для вас и гигантский шаг для меня) нужно решение с формулой
Здравствуйте. Необходимо создать заявку с выпадающим списком и необходимыми характеристиками в...

ребят кому не трудно напишите решение просто пишу 4 раз и не кто не поможет...или она для вас не решаймая??
Составить программу распечатки положительных значений функции u=tg(23.5tg(2ln3.7k)) на отрезке с...

Посмотрите кому не трудно
Помогите,пожалуйста, сделать так,чтобы при запущенной форме можно было редактировать ячейки и все...

Кто понимает теорию графов? Для вас может эта задача разминка для мозга
Не понимаю как понять это.. Удалил вложение

6
32 / 29 / 1
Регистрация: 05.03.2012
Сообщений: 114
18.04.2012, 16:53 2
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
#include <stdio.h>
#include <conio.h> 
#include <stdlib.h>
 
int digits(int x) 
{ 
int c,cnt=0; 
while(x) 
{ 
c=x; 
cnt++; 
if(cnt==4)
{ 
printf("Pervoe chislo -> %d\n",c);
} 
x/=10; 
} 
return cnt; 
} 
 
int main()
{ 
int x; 
printf("Vvedite x=N, x<10000 -> ");
scanf("%d",&x); 
if (x>=10000||x<0) {printf("!!!Eror x>=10000 or x<0 or x!=N\n");system("pause"); exit(0);}
printf("Kol chislo -> %d\n",digits(x));
getch(); 
return 0;
}
Переделал, еще надо добавить функцию которая определяет последную числу.
Мб другие поможет
1
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
22.04.2012, 14:35  [ТС] 3
Кто-нибудь может помочь доделать задание?
0
264 / 253 / 23
Регистрация: 04.04.2012
Сообщений: 546
22.04.2012, 14:50 4
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 <stdio.h>
#include <conio.h>
int main()
{
printf("Input natural number<10000\n");
int x;
scanf("%d",&x);
if((x<1)||(x>9999))
{
printf("Number is incorrect! It must be natural and <10000!\n");
getch();
return 0;
}
if(x<10)
printf("Number has 1 digit\n");
else if(x<100)
printf("Number has 2 digits\n");
else if(x<1000)
printf("Number has 3 digits\n");
else
printf("Number has 4 digits\n");
getch();
if(x<10)
{
printf("First digit is %d, penultimate digit is 0 -- number has only 1 digit\n",x);
getch();
return 0;
}
x=x/10;
int m=x;
while(m>10)
m=m/10;
printf("First digit is %d, penultimate digit is %d\n",m,x);
getch();
return 0;
}
Как-то так. Penultimate означает предпоследний. После вывода количества цифер нажмите любую клавишу, чтобы продолжить. Если хотите, чтобы выводило сразу, уберите getch() из 22 строки.
2
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
26.04.2012, 23:12  [ТС] 5
А предпоследняя цифра числа разве не 1 должна быть?
А то что не вводи выводит все числа кроме последнего(((
А так спасибо большое!
0
264 / 253 / 23
Регистрация: 04.04.2012
Сообщений: 546
26.04.2012, 23:21 6
Ой-ой-ой. Ошибочко. После 32-й строки пишем:
C++
1
x=x%10;
2
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
26.04.2012, 23:58 7
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
#include <iostream>
#include <cmath>
 
int main()
{
    int n;
    std::cout << "n: ";
    std::cin >> n;
 
    if(!std::cin || n <= 0 || n >= 10000)
        return 1;
 
    //------------
    int count = 0;
    for(int val = n; val != 0; val /= 10)
        ++count;
 
    //------------
    std::cout << "count: " << count << "\n"
              << "first: " << static_cast<int>(n / std::pow(10, count - 1)) << "\n";
 
    if(count > 1)
        std::cout << "last but one: " << (n / 10) % 10 << "\n";
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2012, 23:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Прошу вас. Посмотрите все задания,пожалуйста, что можете. Я в химии ничего не понимаю!( Очень нужно(
Заранее спасибо!

прокомментируйте если не трудно...
ЗДРАВСТВУЙТЕ ЛЮДИ!!ПОЖАЛУЙСТА ЕСЛИ НЕ ТРУДНО МОЖЕТЕ ПРОКОММЕНТИРОВАТЬ КАКАЯ ФУНКЦИЯ ЧТО ДЕЛАЕТ,ЧТО...

Проконсультируйте, если не трудно
Парни, подскажите, если не лень писать -) Возникла задумка по написанию игры для планшетов и...

Ребят,проголосуйте,если не трудно.
У знакомой мать работает в поликлинике,проголосуйте,если не трудно,оч прошу.8-) =16&quot;]Линк, за...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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