Форум программистов, компьютерный форум CyberForum.ru

Из C# в C++ - C++

Восстановить пароль Регистрация
 
Denis3
0 / 0 / 0
Регистрация: 14.03.2013
Сообщений: 43
28.11.2013, 05:46     Из C# в C++ #1
Привет,

Кто нибудь может переделать код из C# в C++?

Нам задали задание. На форуме оно уже было написано на C# - мне надо C++. Кто нибудь может помочь, а то я в C# не разбираюсь. Если не тяжело перепишите пожалуйста, вот код на C#:

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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace sdflkjsdl
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите размерность массива: ");
            int size = int.Parse(Console.ReadLine());
            double[] massiv = new double[size];
            Console.Clear();
            Console.Write("1 - Заполнить массив вручную" +
                "\n2 - Заполнить массив случайными числами" +
                "\n\nВыберите нужный пункт меню: ");
            string s = Console.ReadLine();
            switch (s)
            {
                case "1":
                    Console.Clear();
                    for (int i = 0; i < size; i++)
                    {
                        Console.Write("Massiv[" + i + "]: ");
                        massiv[i] = double.Parse(Console.ReadLine());
                    }
                    break;
                case "2":
                    Console.Clear();
                    Console.Write("Введите максимальное возможное значение случайного числа при заполнении массива: ");
                    int maxr = int.Parse(Console.ReadLine());
                    Console.Write("Введите минимальное возможное значение случайного числа при заполнении массива: ");
                    int minr = int.Parse(Console.ReadLine());
                    Random rnd = new Random();
                    for (int i = 0; i < size; i++)
                    {
                        massiv[i] = rnd.Next(minr, maxr-1) + rnd.NextDouble();
                    }
                    break;
                default:
                    Console.WriteLine("Необходимо было ввести 1 или 2...");
                    break;
            }
            Console.Clear();
            Console.WriteLine("Заполненный массив:");
            for (int i = 0; i < size; i++)
            {
                Console.Write(massiv[i] + " ");
            }
            Console.Write("\n\n1 - Вычислить номер минимального по модулю элемента массива" +
                "\n2 - Вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента" +
                "\n3 - Сжать массив, удалив из него все элементы, величина которых находится в интервали от a до b. Освободившиеся в конце элементы заполнить нулями." +
                "\n\nВыберите нужный пункт меню: ");
            string swi = Console.ReadLine();
            switch (swi)
            {
                case "1":
                    Console.Clear();
                    Console.WriteLine("Заполненный массив:");
                    for (int i = 0; i < size; i++)
                    {
                        Console.Write(massiv[i] + " ");
                    }
                    double min = Math.Abs(massiv[0]);
                    int index = 0;
                    for (int i = 0; i < size; i++)
                    {
                        if (min > Math.Abs(massiv[i]))
                        {
                            min = Math.Abs(massiv[i]);
                            index = i;
                        }
                    }
                    Console.WriteLine("\n\nИндекс минимального по модулю элемента: {0}", index);
                    break;
                case "2":
                    Console.Clear();
                    Console.WriteLine("Заполненный массив:");
                    for (int i = 0; i < size; i++)
                    {
                        Console.Write(massiv[i] + " ");
                    }
                    double sum = 0;
                    bool f = false;
                    for (int i = 0; i < size; i++)
                    {
                        if (f)
                            sum += Math.Abs(massiv[i]);
                        if (massiv[i] < 0)
                            f = true;
                    }
                    Console.WriteLine("\n\nСумма модулей элементов массива, расположенных после первого отрицательного элемента: " + sum);
                    break;
                case "3":
                    Console.Clear();
                    Console.WriteLine("Заполненный массив:");
                    for (int i = 0; i < size; i++)
                    {
                        Console.Write(massiv[i] + " ");
                    }
                    Console.Write("Введите A: ");
                    int a = int.Parse(Console.ReadLine());
                    Console.Write("Введите B: ");
                    int b = int.Parse(Console.ReadLine());
                    Console.WriteLine("Сжатый массив:");
                    for (int i = 0; i < size; i++)
                    {
                        if ((massiv[i] >= a) & (massiv[i] <= b))
                        {
                            massiv[i] = 0;
                        }
                        Console.Write(massiv[i] + " ");
                    }
                    break;
                default:
                    Console.Clear();
                    Console.WriteLine("Необходимо было ввести 1, 2 или 3...");
                    break;
            }
            Console.WriteLine("\nДля выхода из программы нажмите [Enter]");
            Console.ReadLine();
        }
    }
}
На всякий случай задание:
1)номер минимального по модулю элемента массива;
2)сумму модулей элементов массива, расположенных после первого отрицательного элемента.
3)Сжать массив, удалив из него все элементы, величина которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.

Буду очень благодарен за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru