Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
CoderHuligan
805 / 484 / 200
Регистрация: 30.06.2015
Сообщений: 2,695
Записей в блоге: 8
24.06.2016, 14:11 0

Изменить программу так, чтобы там присутствовали Printf scanf for и т.д

24.06.2016, 14:11. Просмотров 764. Ответов 1
Метки (Все метки)

Лучший ответ Сообщение было отмечено lena0106 как решение

Решение

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <stdbool.h>
struct listelem
{
  int el;
  struct listelem* next;
};
struct listelem* stackstart;
struct listelem* stackend;
 
void addel(int cr)
{
  int i;
  if (stackend!=NULL)
  {
      stackend->next = (struct listelem*)malloc(sizeof(struct listelem));
      stackend = stackend->next;
      stackend->el = cr;
      stackend->next = NULL;
  }
  else
  {
      stackend = (struct listelem*)malloc(sizeof( struct listelem));
      stackend->el = cr;
      stackend->next = NULL;
      stackstart = stackend;
  }
}
 
void deleteel(int cr)
{  
  struct listelem* cur = stackstart;
  if (cur->el == cr)
  {
      stackstart = stackstart->next;
      free(cur);
      return;
  }
  while ((cur->next->next != NULL) && (cur->next->el != cr))
  {
      cur = cur->next;
  }
  if (cur->next->el==cr)
  {
      struct listelem* tmp = cur->next;
      cur->next = cur->next->next;
      free(tmp);
  }
}
void sortel(void)
{
  struct listelem* cur;
  int tmp;
  bool changed = true;
  while (changed)
  {
      changed = false;
      cur = stackstart;
      while (cur->next!=NULL)
      {
           if (cur->el > cur->next->el)
           {
               tmp=cur->el;
               cur->el=cur->next->el;
               cur->next->el=tmp;
               changed=true;
           }
      cur=cur->next;
      }
  }
}
 
void showall(void)
{
    struct listelem* cur = stackstart;
    while (cur != NULL)
    {
        printf("%d\t", cur->el);
        cur=cur->next;
    }
}
 
int main(void)
{  
  setlocale(LC_ALL,"RU");
  struct listelem book;
  int k, n, i, answer;
  do
  {
      printf("Выберите действие (1) - добавить,(2)-удалить,(3)-сортировать, (4) - показать все: ");
      scanf("%d",&answer);
      switch (answer)
      {
          case 1:
          {
              printf( "Введите число для добавления ");
              scanf("%d",&k);
              addel(k);
          }
      break;
      case 2:
      {
          printf("Введите число для удаления: ");
          scanf("%d",&k);
          deleteel(k);
      }
      break;
      case 3:
      {
          sortel();
      }
      break;
      case 4:
      {
          showall();
      }
      break;
      }
  }while ((answer > 0) && (answer < 5));    
return (0);
}


Вернуться к обсуждению:
Изменить программу так, чтобы там присутствовали Printf scanf for и т.д
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2016, 14:11

Странности с printf / scanf
привет всем, не могу понять в общем в чем проблема может быть есть такой кусочек кода char s;...

Scanf и printf не объявлены
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { int i,n,b; int A,a;...

Как пользоваться scanf и printf?
Ребят,расскажите пожалуйста как пользоваться scanf() и printf().Какие там типы бывают. Буду очень...

0
Другие темы раздела
C (СИ) Найти сумму двух сильно разреженных матриц http://www.cyberforum.ru/c-beginners/thread1769970.html
Найти сумму двух сильно разреженных матриц A(m,n) и B(m,n), хранящихся в упакованном виде. Результат получить также в упакованном виде, а вывести — в обычном. Ну упакую я матрицу в три массива, а...
C (СИ) Организация алгоритма для универсальной программы под микроконтроллер Здравствуйте уважаемые программисты интересует следующий алгоритм для следующей задачи: задача: есть некая программа под микроконтроллер, в стандартном виде она гоняет бесконечный цикл;... http://www.cyberforum.ru/c-beginners/thread1769726.html
C (СИ) Последовательность указателей на вещественные переменные, ограниченная NULL
Последовательность указателей на вещественные переменные, ограниченная NULL.. Функция возвращает динамический массив указателей на эти переменные. Написала с помощью макросов va-list,вроде понятно...
Считать цифры из строки C (СИ)
Помогите разобраться с следующей проблемой. Необходимо считать цифры из строки: s(3), c(2), r(2,4) Решил сделать это функцией sscanf: sscanf_s(s.c_str(), "s(%d) ,c(%d), r(%d,%d)", &a, &b, &c,...
C (СИ) Перевести двоичное число заданное в виде строки в десятичное http://www.cyberforum.ru/c-beginners/thread1769357.html
Перевести двойчное число в десятичное, число задается строкой, функция должна возвращать десятичное число.
C (СИ) Составить словарь из 20 наиболее часто встречающихся в текстовом файле слов Составить словарь. Дан текстовый файл. Составить словарь из 20 наиболее часто встречающихся в этом тексте слов. Слова записать в новый файл в алфавитном порядке. подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru