Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Freid11
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 11
1

Преобразовать код из C++ в Си

11.11.2016, 19:23. Просмотров 1019. Ответов 1
Метки нет (Все метки)

Очень нужно переделать эту программу из C++ именно на Cи, помогите кому не трудно.

Вот задание для которого делалась программа
Дана последовательность A1,..., An. Поменять местами:
Наибольший член с членом с номером m;
Наименьший член с членом с номером m1;
Наибольший член с наименьшим членом.
Значения m и m1 ввести с клавиатуры и проверить на корректность.

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
include "stdafx.h"
#include <iostream>
#include <windows.h>
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int n = 10;
    int min = 0, max = 0, m = 0, m1 = 0, temp;
    float A[n];
    std::cout << "Введите последовательность " << n << " чисел:\n";
    for (int i = 0; i<n; i++) {
        std::cin >> A[i];
        if (A[i]<A[min])
            min = i;
        if (A[i]>A[max])
            max = i;
    }
    std::cout << "Введиете две позиции от 0 до " <<  "9: ";
    while (std::cin >> m >> m1 && (m<0 || m1<0 || m >= n || m1 >= n))
        std::cout << "Не коректная позиции. Введите снова";
    temp = A[max];
    A[max] = A[m];
    A[m] = temp;
    max = m;
    std::cout << "После того как поменяли местами наибольший члена с  членом m: " << m << ':' << std::endl;
    for (int i = 0; i<n; i++)
        std::cout << A[i] << ' ';
    std::cout << std::endl;
    temp = A[min];
    A[min] = A[m1];
    A[m1] = temp;
    min = m1;
    std::cout << "После того как поменяли наименьший член с членом m1: " << m1 << ':' << std::endl;
    for (int i = 0; i<n; i++)
        std::cout << A[i] << ' ';
    std::cout << std::endl;
    temp = A[max];
    A[max] = A[min];
    A[min] = temp;
    temp = max;
    max = min;
    min = temp;
    std::cout << "После изменения наибольшего с наименьшим членом:" << std::endl;
    for (int i = 0; i<n; i++)
        std::cout << A[i] << ' ';
    std::cout << std::endl;
 
    system("pause");
    return 0;
    
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2016, 19:23
Ответы с готовыми решениями:

Преобразовать код С++ в С
Помогите преобразовать этот код С++ в С. #include &lt;iostream&gt; #include...

Есть код на c++, надо преобразовать в с
Код нашёл на вашем же сайте, с с++ не знаком ещё(1ый курс) (у меня по условию...

Код "Borland C" преобразовать "Си"(MinGW)
Всем привет! Программа сортировки по убыванию: #include &lt;vcl.h&gt; #include...

Преобразовать двоичный код в двоично-десятичный код (Intel 8051)
Прочитать с порта Р0 один байт двоичного кода 8-4-2-1, превратить его в...

Преобразовать код на Java в код для ассемблера 3AA
переделать Java программу в программу 3AA все данные типа int for(int i =...

1
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 119
Завершенные тесты: 1
20.11.2016, 21:07 2
Лучший ответ Сообщение было отмечено Freid11 как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
int main() {
    setlocale(LC_ALL, ".1251");
    const int n = 10;
    int min = 0, max = 0, m = 0, m1 = 0;
    int i;
    int A[n], temp;
    printf("Введите последовательность %d  чисел:\n",n);
    for (i = 0; i<n; i++) {
        scanf_s("%d",&A[i]);
        if (A[i]<A[min])
            min = i;
        if (A[i]>A[max])
            max = i;
    }
    printf( "Введиете две позиции от 0 до 9: ");
    while (scanf_s("%d %d",&m, &m1) && (m<0 || m1<0 || m >= n || m1 >= n))
        printf("Не коректная позиции. Введите снова");
    temp = A[max];
    A[max] = A[m];
    A[m] = temp;
    max = m;
    printf("После того как поменяли местами наибольший члена с  членом m: %d",m);
    for (int i = 0; i<n; i++)
        printf("%d ", A[i]);
    printf("\n");
    temp = A[min];
    A[min] = A[m1];
    A[m1] = temp;
    min = m1;
    printf("После того как поменяли наименьший член с членом m1: %d :\n", m1);
    for (int i = 0; i<n; i++)
        printf("%d ", A[i]);
    printf("\n");
    temp = A[max];
    A[max] = A[min];
    A[min] = temp;
    temp = max;
    max = min;
    min = temp;
    printf("После изменения наибольшего с наименьшим членом:\n");
    for (int i = 0; i<n; i++)
        printf("%d ", A[i]);
    printf("\n");
 
    system("pause");
    return 0;
 
}


сделайте коррекцию.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2016, 21:07

Преобразовать данный код в код с лямбда-выражениями
Как преобразовать данный код в код с лямбда-выражениями? (((( Не понимаю совсем...

Преобразовать 16-ти разрядный двоичный код в код 8-4-2-1
Помогите пожалуйста составить программу для Intel 8051, которая преобразует...

Wpf не виставляются нормально координати елипса && как преобразовать код xaml в код C#
собственно вот код программы using System; using System.Collections.Generic;...


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

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

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