Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
#1

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

28.12.2009, 14:03. Просмотров 1386. Ответов 15
Метки нет (Все метки)

Необходимо переделать код из с++ в с, что до меня не доходит как это сделать, помогите пожалуйста



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
#include <iostream>
 
using namespace std;
 
int main()
{
const int size=10;
    srand(time(0));
    int a[size];
    for(int i=0;i<10;i++)
    {
        a[i]=rand()%25;
        cout<<"a="<<a[i]<<"\n";
    }
    for(int i=0;i<size;i++)
    {
        for(int j=size-1;j>i;j--)
        {
            if(a[j]<a[j-1])
            {
                int tmp=a[j];
                a[j]=a[j-1];
                a[j-1]=tmp;
            }
        }
        cout<<"\t"<<"a="<<a[i]<<"\n";}
}

http://www.cyberforum.ru/cpp-beginners/thread2224180.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2009, 14:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переделать из С++ в С (C++):

переделать на с++
Последовательность 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, …, состоящая из нулей и...

Переделать из С в С++
Переделайте пожалуйста на С++ #include &lt;stdio.h&gt; #include &lt;locale.h&gt;...

Переделать из С++ в С
Слушайте ребята как мне можно переделать эту задачу из C++ в обычную СИшку? ...

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

Переделать for в while и do while
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void...

15
solar_wind
760 / 751 / 58
Регистрация: 06.07.2009
Сообщений: 2,988
Завершенные тесты: 1
28.12.2009, 14:08 #2
А с++ то где?
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 14:13 #3
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main()
{
const int size=10;
        srand ( time(NULL) );
        int a[size];
        for(int i=0;i<10;i++)
        {
                a[i]=rand()%25;
               printf("a=");
               printf("%d",a[i]);
               printf("\n");
        }
        for(int i=0;i<size;i++)
        {
                for(int j=size-1;j>i;j--)
                {
                        if(a[j]<a[j-1])
                        {
                                int tmp=a[j];
                                a[j]=a[j-1];
                                a[j-1]=tmp;
                        }
                }
                printf("\t a=");
                printf("%d",a[i]);}
                getch();
}
Походу так
1
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 14:30  [ТС] #4
Что-то не работает.

В общем я нигде не смог найти шаблон сортировки по возрастанию "пузырьком" на С есть только С++, сможете такой показать, нужен очень срочно, сегодня сдавать, а мозги уже кипят, всего 3 дня изучаю программрование, помогите плиз, на новогодних каникулах поднатаскаюсь.
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 14:31 #5
что имеено не работает? Какую ошибку выдает? и какой компилятор? У меня DEV-C++ все работает
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 14:36  [ТС] #6
компилятор code:blocks, универ сказал делать на нем, ошибки привожу


\9\main.c||In function `main':|
\9\main.c|10|error: 'for' loop initial declaration used outside C99 mode|
\9\main.c|17|error: redefinition of 'i'|
\9\main.c|10|error: previous definition of 'i' was here|
\9\main.c|17|error: 'for' loop initial declaration used outside C99 mode|
\9\main.c|19|error: 'for' loop initial declaration used outside C99 mode|
||=== Build finished: 5 errors, 0 warnings ===|
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 14:41 #7
а понятно
пиши вместо:
C++
1
for(int i=0;i<10;i++)
C
1
2
int i;
for(i=0;i<10;i++)
Добавлено через 2 минуты
Работает?
1
CheshireCat
Эксперт С++
2907 / 1256 / 114
Регистрация: 27.05.2008
Сообщений: 3,451
28.12.2009, 14:42 #8
Цитата Сообщение от fantazer333 Посмотреть сообщение
компилятор code:blocks, универ сказал делать на нем
Code::Blocks - это не компилятор, это среда разработки. А компилятор там - обычный GCC. Укажи ему ключ компилятора "использовать Стандарт C99" (--std=c99), и все получится.
1
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 14:51  [ТС] #9
Спасибо всем, теперь работает.

А кто теперь сможет мне популярно объяснить этот код

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main()
{
const int size=10;
        srand ( time(NULL) );
        int a[size];
        int i;
        for(i=0;i<10;i++)
        {
                a[i]=rand()%25;
               printf("a=");
               printf("%d",a[i]);
               printf("\n");
        }
        for(i=0;i<size;i++)
        {
                for(int j=size-1;j>i;j--)
                {
                        if(a[j]<a[j-1])
                        {
                                int tmp=a[j];
                                a[j]=a[j-1];
                                a[j-1]=tmp;
                        }
                }
                printf("\t a=");
                printf("%d",a[i]);}
                getch();
}
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 14:56  [ТС] #10
Простите за наглость.

Подскажите, а как его исправить, чтобы цифры можно было вводить самому.
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 15:03 #11
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main()
{
const int size=10;
        //srand ( time(NULL) );
        int a[size];
        int i;
        for(i=0;i<10;i++)
        {
               // a[i]=rand()%25;
               printf("a=");
              scanf("%d",&(a[i]));
             //  printf("%d",a[i]);
               //printf("\n");
        }
        for(i=0;i<size;i++)
        {
                for(int j=size-1;j>i;j--)
                {
                        if(a[j]<a[j-1])
                        {
                                int tmp=a[j];
                                a[j]=a[j-1];
                                a[j-1]=tmp;
                        }
                }
                printf("\t a=");
                printf("%d",a[i]);}
                getch();
}
1
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 15:06  [ТС] #12
Спасибо.
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 15:14  [ТС] #13
А кто теперь сможет мне популярно объяснить этот код, с комментариями у строк, чтоб я окончательно понял алгоритм.
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 16:08  [ТС] #14
Спасибо разобрался

Выкладываю облагороженный, так сказать код на С, для тех кому это может понадобиться

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
int main()
{
const int size=10;
        int a[size];
        int i;
        int j;
        int tmp;
        int h=0;
 
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
 
        for(i=0;i<10;i++)
        {
               printf("Введите 10 чисел для сортировки, число a%d=",++h);
              scanf("%d",&(a[i]));
        }
        printf("Сортировка по возрастанию введенных вами чисел\t");
        for(i=0;i<size;i++)
               {
                for(j=size-1;j>i;j--)
                {
                        if(a[j]<a[j-1])
                        {
                                tmp=a[j];
                                a[j]=a[j-1];
                                a[j-1]=tmp;
                        }
                }
                printf("\n\t");
                printf("%d",a[i]);}
                getch();
}
0
vet
175 / 176 / 54
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 16:11 #15
fantazer333, Только принимай во внимание, что многие компиляторы даже после
Код
 SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
русский язык отказываются коректно отображать
0
fantazer333
1 / 1 / 0
Регистрация: 26.12.2009
Сообщений: 47
28.12.2009, 16:19  [ТС] #16
Да это я уже понял, но зато после этой команды и изменения свойств окна на шрифт lucida console отображается нормально.

Добавлено через 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
#include <stdio.h>
#include <string.h>
#include <windows.h>
 
#define STRLEN 255
 
int main(void){
        char str[STRLEN], wrd[STRLEN], *p;
        size_t count_all, count_word;
        count_all=0;
        count_word=0;
 
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
 
        printf("Введите строку: ");
        fgets(str, sizeof(str), stdin);
        if ( p = strrchr(str, '\n') )
                *p = '\0';
        printf("Введите слово для поиска: ");
        fgets(wrd, sizeof(wrd), stdin);
        if ( p = strrchr(wrd, '\n') )
                *p = '\0';
 
        count_all = count_word = 0;
        for ( p = strtok(str, " "); p != NULL; p = strtok(NULL, " ") ){
                ++count_all;
                if ( !strcmp(p, wrd) )
                        ++count_word;
        }
        printf("Всего слов: %d\n", count_all);
        printf("Слово \"%s\" встретилось %d раз(а)\n", wrd, count_word);
 
        return EXIT_SUCCESS;
}
0
28.12.2009, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2009, 16:19
Привет! Вот еще темы с решениями:

Переделать из C# в C++
Всем привет. У меня есть старый мой проект написанный на Visual c# у меня есть...

переделать из С в с++
Помогите переделать код в с++ из С #include &lt;cstdio&gt; #include &lt;cstring&gt;...

Переделать программу
помогите изменить программу, программа ищет наименьший элемент...

Переделать программу
Ребят помогите девушке не понимаю сама как решить вот есть программа ...


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

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

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