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

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

Восстановить пароль Регистрация
 
Juster_07
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
18.04.2012, 16:00     Простенькая для вас задача посмотрите если не трудно #1
Дано натуральное число 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 16:00     Простенькая для вас задача посмотрите если не трудно
Посмотрите здесь:

Массивы,подскажите,если не трудно C++
C++ прокомментируйте если не трудно...
C++ Вычеслить значение функцыи!(если комуто не трудно)
Простенькая задача C++
простенькая задача C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Betokuha
 Аватар для Betokuha
32 / 29 / 9
Регистрация: 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;
}
Переделал, еще надо добавить функцию которая определяет последную числу.
Мб другие поможет
Juster_07
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
22.04.2012, 14:35  [ТС]     Простенькая для вас задача посмотрите если не трудно #3
Кто-нибудь может помочь доделать задание?
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 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 строки.
Juster_07
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 19
26.04.2012, 23:12  [ТС]     Простенькая для вас задача посмотрите если не трудно #5
А предпоследняя цифра числа разве не 1 должна быть?
А то что не вводи выводит все числа кроме последнего(((
А так спасибо большое!
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
26.04.2012, 23:21     Простенькая для вас задача посмотрите если не трудно #6
Ой-ой-ой. Ошибочко. После 32-й строки пишем:
C++
1
x=x%10;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 23:58     Простенькая для вас задача посмотрите если не трудно
Еще ссылки по теме:

C++ Программисты сделайте задание если не трудно пожалуйста! :D
C++ Опишите структуру, если не трудно
C++ Можете написать код если не трудно

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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";
}
Yandex
Объявления
26.04.2012, 23:58     Простенькая для вас задача посмотрите если не трудно
Ответ Создать тему
Опции темы

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