Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
lena0106
0 / 0 / 4
Регистрация: 07.10.2015
Сообщений: 105
#1

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

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

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
#include <stdlib.h>
#include <iostream>
#include <windows.h>
 
 
using namespace std;
struct listelem{
int el;
listelem* next;
};
 
 
listelem* stackstart;
listelem* stackend;
 
void addel(int cr)
{
int i;
if (stackend!=NULL){
stackend->next = new (listelem);
stackend=stackend->next;
stackend->el = cr;
stackend->next=NULL;
}
else{
stackend = new (listelem);
stackend->el = cr;
stackend->next=NULL;
stackstart=stackend;
}
}
 
void deleteel(int cr)
{   listelem* cur=stackstart;
if (cur->el==cr){
stackstart=stackstart->next;
delete(cur);
return;
}
while ((cur->next->next!=NULL)&(cur->next->el!=cr)){
cur=cur->next;}
if (cur->next->el==cr){
listelem* tmp=cur->next;
cur->next=cur->next->next;
delete(tmp);
}
}
 
 
void sortel(void)
{
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)
{
listelem* cur=stackstart;
while (cur!=NULL){
cout << cur->el << '\t';
cur=cur->next;
}
}
 
int main()
{
SetConsoleCP(1251);//настройки для русского языка
SetConsoleOutputCP(1251);
int answer;
listelem book;
int k,n,i;
do{
cout << "Выберите действие (1) - добавить,(2)-удалить,(3)-сортировать, (4) - показать все\n";
cin >> answer;
switch (answer){
case 1:{
cout << "Введите число для добавления ";
cin >> k;
addel(k);
}
break;
case 2:{
cout << "Введите число для добавления ";
cin >> k;
deleteel(k);
}
break;
case 3:{
sortel();
}
break;
case 4:{
showall();
}
break;
}
}while ((answer>0)&&(answer<5));
return 0;
}

http://www.cyberforum.ru/c-beginners/thread1534651.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2016, 11:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Изменить программу так, чтобы там присутствовали Printf scanf for и т.д (C (СИ)):

Изменить программу так чтобы данные о первых 4 людей инициировались в программе
Помогите пожалуйста изменить программу так чтобы данные о первых 4 людей...

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

Как сделать так, чтобы функция scanf ожидала ввода
как сделать так чтобы функция scanf ожидала ввода столько сколько надо а не...

Изменить эту программу так, чтобы для вычисления процентов она использовала только целые числа
Товарищи, дан пример с книги Дейтелов по расчету суммы денег на конец года на...

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

1
CoderHuligan
792 / 460 / 197
Регистрация: 30.06.2015
Сообщений: 2,453
Записей в блоге: 3
24.06.2016, 14:11 #2
Лучший ответ Сообщение было отмечено 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);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2016, 14:11
Привет! Вот еще темы с решениями:

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

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

Форматные функции printf() и scanf()
Вот читал про рсдн про эти функции.Убил моск...Помогите разобраться. Вот...

Не могу разобраться с printf и scanf
Написал программу:#include &lt;stdio.h&gt; int main(int argc, char ** argv) {...


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

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

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