Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31

Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом

06.03.2017, 18:23. Показов 8992. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:
Написать программу, которая проверяет, является ли введенная с клавиатуры строка шестнадцатеричным числом. (количество символов в строке не более 6)

Я так понимаю нужно создать массив из 6 элементов и заполнить его чем-то. Потом из списка шестнадцатеричных(0-9,A-F,a-f) значений проверять с массивом поочередно . И если да то вывести да, если наоборот то наоборот.

Как бы я не пытался ничего не выходит. Главная проблема не могу запихнуть латинские буквы в массив.

зы
Может и не через массив надо я не знаю как, помогите!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.03.2017, 18:23
Ответы с готовыми решениями:

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

Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом
2. Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом. Добавлено через 19 часов 30 минут...

Написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным отрицательным числом
Сделайте пожалуйста. Нужно написать программу, которая проверяет, является ли введенная с клавиатуры строка дробным отрицательным числом.

10
738 / 543 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
06.03.2017, 19:45
Цитата Сообщение от fax0nat Посмотреть сообщение
Главная проблема не могу запихнуть латинские буквы в массив.
почему?массив должен быть char
C
1
char str[] = "0123456789ABCDEFabcdef";
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31
06.03.2017, 20:23  [ТС]
не, надо чтобы я ввел латинские буквы и цифры(массив из 6 значений) и чтоб каждое значение проверилось в этом списке
Цитата Сообщение от LFC Посмотреть сообщение
0123456789ABCDEFabcdef
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
06.03.2017, 20:27
Цитата Сообщение от fax0nat Посмотреть сообщение
не, надо чтобы я ввел латинские буквы
Вы будете сверять то что ввели с этим массивом...
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
06.03.2017, 21:24
fax0nat, А зачем вам массив? Выяснить, является ли очередной символ 16-ичной цифрой можно так:
C
1
if (('0' <= c && 'c' <='9') || ('a' <= c && 'c' <= 'f')) ....
2
738 / 543 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
07.03.2017, 05:44
Цитата Сообщение от fax0nat Посмотреть сообщение
и чтоб каждое значение проверилось в этом списке
и что мешает проверить?
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 <stdlib.h>
#define N 7
 
int isHex(char* );
int main()
{
    char str[N];
    fgets(str, N, stdin);
    isHex(str) ? puts("Yes") : puts("No");
    return 0;
}
int isHex(char* s)
{
    char contr[] = "0123456789ABCDEFabcdef";
    int i, j, flag = 0;
    if(s[0] != '0' || s[1] != 'x')
        return 0;
    for(i = 2; s[i]; i++, flag = 0){
        for(j = 0; contr[j]; j++){
            if(s[i] == contr[j]){
                flag = 1;
                continue;
            }
        }
        if(!flag)
            return 0;
    }
    return 1;
}
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
07.03.2017, 09:42
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <string.h>
 
#define SIZ 7
 
int main(void) {
    char buf[SIZ];
    char contr[] = "0123456789ABCDEFabcdef\n";
    while (fgets(buf, SIZ, stdin) && *buf!='\n')
        printf("%s\n", (strlen(buf) == strspn(buf, contr)) ? "Yes" : "No");
}
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31
24.04.2017, 23:06  [ТС]
Все супер работает, только когда вводишь больше 6 значений пишет два раза yes..
0
82 / 81 / 72
Регистрация: 25.02.2017
Сообщений: 175
24.04.2017, 23:31
C
1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
int main(void)
{
    int n;
    if(scanf("%x",&n) && getchar()=='\n')
    printf("YES\n");
    else
    printf("NO\n");
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31
25.04.2017, 02:08  [ТС]
Все, разобрался сам вот рабочий код, спасибо за подсказки
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h> 
#include <conio.h>
#include "string.h" 
 
 
int main()
{
 
    int n;
    if (scanf_s("%6x", &n) && getchar() == '\n')
        printf("YES\n");
    else
        printf("NO\n");
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 31
30.04.2017, 12:48  [ТС]
Цитата Сообщение от fax0nat Посмотреть сообщение
if (scanf_s("%6x", &n) && getchar() == '\n')
РЕБЯТ УМОЛЯЮ ПОЯСНИТЕ ЭТУ СТРОКУ Я НЕ ПОНИМАЮ КАК ЭТО РАБОТАЕТ!!(а это работает программа все правельно считает по заданию)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2017, 12:48
Помогаю со студенческими работами здесь

Напишите программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом
Напишите программу, которая проверяет, является ли введенная с клавиатуры строка дробным числом.

Определить, является ли заданная строка шестнадцатеричным числом (С++ -> Си)
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cctype&gt; bool is_hex(std::string const&amp; str) { if (str.length() &lt; 3 || str...

Определить, что введенная строка является целым числом
Помогите плиз! Дана строка, в которую ввели какое-то число, нужно выяснить является ли это число целым. С помощью функции...

Написать программу которая проверяет находится ли введенное число с клавиатуры в массиве
Написать программу которая проверяет находится ли введенное число с клавиатуры в массиве(в массив тоже вводятся числа, чисел). Помогите...

Написать программу, которая проверяет, находится ли в двумерном массиве введенное с клавиатуры число
3. Написать программу, которая проверяет, находится ли в двумерном массиве введенное с клавиатуры число. Массив должен вводится во время...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
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