Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 29.09.2019
Сообщений: 117
1

Как вводить числа с клавиатуры?

18.12.2019, 17:36. Показов 1702. Ответов 5

Author24 — интернет-сервис помощи студентам
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include<stdlib.h>
#include<stdio.h>
 
///// VARS /////
struct list_element {
    int value;
    struct list_element* next;
};
 
typedef struct list_element item;
 
 
///// FUNCPROTS /////
item* create_list(void);
int print_list(item* head);
item* delete_value(item* head);
 
 
///// MAIN /////
int main(void)
{
    item* head;
 
    head = create_list();
    while (print_list(head)) {
        head = delete_value(head);
    }
    puts("Goodbye!");
    return 0;
}
 
 
///// FUNCTIONS ///////
 
item* create_list(void)
{
    int i;
    int node_number;
    item* curr,
        * head = NULL;
 
    printf("enter the number of nodes?");
    scanf_s("%d", &node_number);
 
    for (i = 1; i <= node_number; i++) {
        curr = (item*)malloc(sizeof(item));
        curr->value = i;
        curr->next = head;
        head = curr;
    }
    return head;
}
 
 
int print_list(item* head)
{
    int i = 0;
    item* curr = head;
 
    while (curr) {
        printf("%d\n", curr->value);
        curr = curr->next;
        ++i;
    }
    return i;
}
 
 
item* delete_value(item* head)
{
    int value;
    item* current, * previous = 0;
 
    current = head;
    printf("value for removing: ");
    scanf_s("%i", &value);
 
    while (current) {
        if (current->value == value) {
            if (current == head) {
                if (head->next == NULL) {
                    free(current);
                    return head = NULL;
                }
                head = current->next;
                free(current);
                current = head;
            }
            else {
                if (current->next != NULL) {
                    previous->next = current->next;
                    free(current);
                    current = previous->next;
                }
                else {
                    previous->next = NULL;
                    free(current);
                    return head;
                }
            }
        }
        previous = current;
        current = previous->next;
    }
    if (head == current) head = current;
    return head;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2019, 17:36
Ответы с готовыми решениями:

Найти минимальное из двух чисел. числа вводить с клавиатуры
Найти минимальное из двух чисел. числа вводить с клавиатуры

Вводить с клавиатуры 10 целых чисел,выдать на экран те числа,которые меньше введенного с клавиатуры числа,и их сумму
1ая программа. вводить с клавиатуры 10 целых чисел,выдать на экран те числа,которые меньше...

Как написать функцию чтобы можно было вводить только числа с клавиатуры?
Как написать функцию чтобы можно было вводить только числа с клавиатуры?

Вводить с клавиатуры числа
Вводить с клавиатуры числа, найти среднее арифметическое этих чисел, которые больше 7....

5
447 / 323 / 129
Регистрация: 18.07.2017
Сообщений: 1,454
18.12.2019, 19:10 2
Цитата Сообщение от Zoobbl4 Посмотреть сообщение
как вводить числа с клавиатуры
А это тогда что?
Цитата Сообщение от Zoobbl4 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
item* delete_value(item* head)
{
    int value;
    item* current, * previous = 0;
current = head;
    printf("value for removing: ");
    scanf_s("%i", &value); // ?????????????????????????????????????
while (current) {
        if (current->value == value) {
            if (current == head) {
0
0 / 0 / 1
Регистрация: 29.09.2019
Сообщений: 117
18.12.2019, 19:33  [ТС] 3
ВВОЖУ ЧТО НАДО УДАЛИТЬ
0
447 / 323 / 129
Регистрация: 18.07.2017
Сообщений: 1,454
18.12.2019, 19:49 4
Цитата Сообщение от Zoobbl4 Посмотреть сообщение
как вводить числа с клавиатуры
Цитата Сообщение от Zoobbl4 Посмотреть сообщение
ВВОЖУ ЧТО НАДО УДАЛИТЬ
Биполярочка?
0
0 / 0 / 1
Регистрация: 29.09.2019
Сообщений: 117
18.12.2019, 19:54  [ТС] 5
пример

ввод элементов 10
ввод символов 2 9 8 7 23 12 15 96 85 25 //вот это как сделать
удалить 5
вывод 2 9 8 7 12 15 96 85 25
0
447 / 323 / 129
Регистрация: 18.07.2017
Сообщений: 1,454
18.12.2019, 20:06 6
в цикле считывать в массив.
C++
1
2
3
4
int mass[your_number];
for(int i=0; i<your_umber; i++){
    scanf("%i", mass + i);
}
Добавлено через 6 минут
Цитата Сообщение от assemberist Посмотреть сообщение
в цикле считывать в массив.
Нужно использовать динамический массив, либо через указатели.
0
18.12.2019, 20:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2019, 20:06
Помогаю со студенческими работами здесь

Вводить с клавиатуры целые положительные числа до тех пор, пока не будут введены два одинаковых числа подряд
Вводить с клавиатуры целые положительные числа до тех пор, пока не будут введены два одинаковых...

Вводить числа с клавиатуры, пока не встретится задуманное число х.
Составьте программу к задаче 《вводить числа с клавиатуры, пока не встретится задуманное число х》.

Вводить с клавиатуры числа до тех пор пока не будет(-1)
Вводить с клавиатуры любые целые числа до тех пор пока не будет введено число (-1). Каких чисел...

Вводить числа с клавиатуры, пока они не образуют возрастающую последовательность
Вводить числа с клавиатуры, пока они не образуют возрастающую последовательность. Решить 2...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru