Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Вика666
0 / 0 / 0
Регистрация: 08.07.2017
Сообщений: 4
#1

Переделать из С++ в С# - C#

12.07.2017, 15:13. Просмотров 208. Ответов 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
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
125
126
127
128
129
130
131
132
#include <iostream>
#include <sstream>
#include <fstream>
 
struct node {
    node* next;
    int   val;
    node(int v):next(NULL), val(v){}
};
 
node* slist_load(std::istream& _in);
void  slist_print(std::ostream& _out, const node* ls);
void  slist_clear(node* ls);
void  slist_add_odd(node*& ls);
void  slist_del_greater(node*& ls, int v);
int   slist_sum(const node* ls);
void  slist_remove_odd(node*& ls);
 
int main(void){
    char s[] = "-7 1 2 3 4 5 6 7 8 9 8 3 6 5 4 3 2 1 10 12 13 23";
    std::istringstream sp(s);
    node* ls = slist_load(sp);
 
/*  ввод из файла
    std::ifstream fp("file.txt");
    node* ls = slist_load(fp);
    fp.close();
*/
    //Продублировать все нечетные элементы
    slist_add_odd(ls);
    slist_print(std::cout, ls);
 
    //Удалить из списка все элементы со значением большим заданного значения
    int val = 5;
    slist_del_greater(ls, val);
    slist_print(std::cout, ls);
 
    //сумма списка
    std::cout << "slist sum: " << slist_sum(ls) << std::endl;
 
    //Удалить из списка все нечетные элементы
    slist_remove_odd(ls);
    slist_print(std::cout, ls);
    slist_clear(ls);
    std::cin.get();
    return 0;
}
 
//загрузка целых чисел из потока
node* slist_load(std::istream& _in){
    node* h = NULL, *t = NULL;
    int   v;
    while(_in >> v){
        if(h == NULL)
            h = t = new node(v);
        else 
            t = t->next = new node(v);
    }
    return h;
}
 
//Описать процедуру добавления одного или нескольких элементов в список. 
void slist_add_odd(node*& ls){
    node* q, *p = ls, *i = ls;
    while(i != NULL){
        if((i->val % 2) != 0){
            q = new node(i->val);
            if(i == ls){
                q->next = ls;
                ls = q;
            } else {
                p->next = q;
                q->next = i;
            }
        }
        p = i;
        i = i->next;
    }
}
 
//Описать процедуру удаления одного или нескольких элементов списка.  
void slist_del_greater(node*& ls, int v){
    node* t, *p = ls, *i = ls;
    while(i != NULL){
        if(i->val > v){
            if(i == ls)
                t = ls = ls->next;
            else
                t = p->next = i->next;
            delete i;
            i = t;
        } else {
            p = i;
            i = i->next;
        }
    }
}
 
//Определить сумму значений всех элементов списка(рекурсивно)
int slist_sum(const node* ls){
    return (ls != NULL) ? ls->val + slist_sum(ls->next) : 0;
}
 
//Удалить из списка все нечетные элементы(рекурсивно)
void slist_remove_odd(node*& ls){
    if(ls != NULL){
        if((ls->val % 2) != 0){
            node* t = ls;
            ls = ls->next;
            delete t;
            slist_remove_odd(ls);
        } else
            slist_remove_odd(ls->next);
    }
}
 
//печать
void slist_print(std::ostream& _out, const node* ls){
    for(; ls != NULL; ls = ls->next)
        _out << ls->val << ' ';
    _out << std::endl;
}
 
//удаление всех
void slist_clear(node* ls){
    node* t;
    while(ls != NULL){
        t  = ls;
        ls = ls->next;
        delete t;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2017, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать из С++ в С# (C#):

надо переделать задачу она уже решена ну ее нужно переделать - Pascal
вот задача const n=4; var a:array of integer; i,s:integer; begin for i:=1 to n do begin write('Введите ',i,'-й элемент...

возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? - Delphi
Подскажите возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? У меня есть исходник алгоритма шифрования SEAL...

Переделать из С в С++ - C++
Переделайте пожалуйста на С++ #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;conio.h&gt; void slau_3(double , double *,...

переделать из с++ в си - C++
// Условие: Написать 3 функ-ии: // 1-ая: получает размерность массива, создает динамический массив и возвращает указатель на начало...

Переделать С++ в С - C (СИ)
#include &lt;iostream&gt; using namespace std; int NOD(int x, int y) { if (x != 0) return NOD(y%x,x); else ...

переделать на с# - C#
помогите переделать на с# &lt;map&gt; &lt;vector&gt; &lt;algorithm&gt; &lt;fstream&gt; &lt;iostream&gt; &lt;string&gt; &lt;iomanip&gt; ...

2
KMaxim
1 / 1 / 0
Регистрация: 12.07.2017
Сообщений: 28
Завершенные тесты: 2
13.07.2017, 21:54 #2
В чем именно вопрос?
0
1231231ghacking
97 / 101 / 38
Регистрация: 19.11.2015
Сообщений: 380
Завершенные тесты: 3
14.07.2017, 13:33 #3
KMaxim,

Не по теме:

В ЛЕНИ!

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2017, 13:33
Привет! Вот еще темы с ответами:

Переделать while на for - C (СИ)
С Си работаю второй день, раньше пару месяцев программировал на Делфи. Объясню проблему в двух словах - нужно цикл do..while изменить на...

Переделать - Delphi
Здраствуйте помогите пожалуйста дум дубом в делфи надо код из паскаля перекинуть в делфи &quot;красивенько&quot;))) с окошками и всей фигней(((...

Переделать с С++ на Си - C (СИ)
#include &lt;windows.h&gt; #include &lt;iostream&gt; #define MAXSTACK 2048 // максимальный размер стека void main() { int a; int...

Переделать из Си++ на Си - C (СИ)
Помогите переделать зарание спас. первый код: #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; #pragma...


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

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

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