Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 19:18   #1
InsolenceL
 
Регистрация: 16.05.2011
Сообщений: 4
Подмигивание С C# на С++

ребят, помогите!!
есть программа по многопутевому слиянию на С#, очень надо переписать на С++. С++ не знаю...в чем будет разница???
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;



namespace слияние
{

class Program
{
const int r = 100000;
static void Main(string[] args)
{
string str = Console.ReadLine();//строка с числами
string[] st = str.Split(' ');
int n = st.Length;
int[,] stalaktit = new int[n, n];
int[] mas = new int[n];
for (int i = 0; i < n; i++)
mas[i] = Convert.ToInt32(st[i]);//формирование потока чисел int

int a = 0;
int b = 0;
int sneginka = mas[0];
stalaktit[a, b] = sneginka;

for (int i = 1; i < n; i++)//разбиение потока mas в последовательности stalaktit
{
if (mas[i] > sneginka)
{
b++;
stalaktit[a, b] = mas[i];
sneginka = mas[i];
}
else
{
a++;
b = 0;
stalaktit[a, b] = mas[i];
sneginka = mas[i];
}
}

a++;
int[] kaskad = new int[a];
int[] stalagmit = new int[n];
int min;
min = r;
for (int j = 0; j < n; j++)
{

b = 0;
for (int i = 0; i < a; i++)
{
if (stalaktit[i, (kaskad[i])] < min && stalaktit[i, (kaskad[i])] != 0)
{
min = stalaktit[i, (kaskad[i])];
b = i;
}
}
stalagmit[j] = min;
kaskad[b]++;
min = r;
}
for (int j = 0; j < n; j++)
Console.WriteLine(stalagmit[j]);

Console.ReadKey();
}
}
}
InsolenceL вне форума Ответить с цитированием
Старый 02.11.2011, 20:59   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от InsolenceL Посмотреть сообщение
ребят, помогите!!
есть программа по многопутевому слиянию на С#, очень надо переписать на С++. С++ не знаю...в чем будет разница???
Лучше скажите в чем задание было ??!
C++ - это высокоуровневый язык прежде всего ! Если просто ввести ряд чисел разделенных пробелом, а потом конвертировать в int, отсортировать и вывести, то вот:
Код:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <list>
#include <string>
#include <sstream>
using std::cin;
using std::cout;
using std::string;

int main()
{
   string str;
   std::list< string> lstr;
   std::list< int> ldig;
   std::getline( cin, str);
   std::stringstream ss(str);
   while( ss >> str)
      lstr.push_back( str);
   std::transform( lstr.begin(), lstr.end(), std::inserter( ldig, ldig.begin()), []( string s){ return std::stoi( s);});
   ldig.sort();
   std::copy( ldig.begin(), ldig.end(), std::ostream_iterator< int>( cout, "\n"));
   system("pause");
   return 0;
}
An1ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц