0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 18
1

Переписать программу из паскаля на с++

24.05.2015, 21:00. Показов 612. Ответов 10
Метки нет (Все метки)

Pascal
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
const  n = 15; 
var  a:array[1..n] of integer; i,j,x:integer;
begin    
randomize;
writeln('Сфоромований масив:');
for i:=1 to n do
begin
a[i]:=random(100)-50;
writeln('A[',i,']: ',a[i]);
end;    
for i:=1 to n-1 do 
for j:=i+1 to n do 
if a[j]>=0 then
begin
if a[i]>a[j] then 
begin
x:=a[i]; 
a[i]:=a[j]; 
a[j]:=x;
end;
end;  
writeln;
writeln('Вiдсортований масив: ');
for i:=1 to n do 
begin
writeln('a[',i,']=',a[i],' ');
end;
readln; 
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2015, 21:00
Ответы с готовыми решениями:

Переписать программу с Паскаля на С++
Всем привет! Возникла задача написать код на C++, но данный язык я вообще не знаю. Зато знаю pascal...

Переписать программу из паскаля в с++
Program L5Z1; var K:array of real; i:real; c:integer; begin writeln('Зформовані масиви:...

Переписать программу из паскаля в с++
Уважаемые форумчане!! Помогите пожалуйста переписать программу из паскаля в с++. uses crt; Var...

Переписать программу из паскаля в с++
program laba52; uses crt; VAR a:array of real; s:real; i:integer; begin s:=1; randomize;...

10
Pure Free Digital Ghost
4590 / 1903 / 368
Регистрация: 06.01.2013
Сообщений: 4,552
24.05.2015, 21:29 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
#include <iostream>
#include <array>
#include <algorithm>
#include <random>
#include <chrono>
#include <functional>
#include <iterator>
 
const int n = 10;
 
int main ( ) {
    std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
    std::uniform_int_distribution<int> distribution(-50, 50);
    
    std::array<int, n> array;
    std::generate(array.begin(), array.end(), std::bind(distribution, generator));
    
    std::cout << "Generated array:\n";
    std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
    
    std::sort(array.begin(), array.end());
    std::cout << "\nSorted array:\n";
    std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
}
UPD: Заменил for-in на копирование в ostream_iterator

Добавлено через 13 минут
Хм. Заметил
Цитата Сообщение от slientme Посмотреть сообщение
if a[j]>=0 then
Тогда так (стандартный алгоритм не подходит для этого)
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
#include <iostream>
#include <array>
#include <algorithm>
#include <random>
#include <chrono>
#include <functional>
#include <iterator>
#include <utility>
 
const int n = 10;
 
int main ( ) {
    std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
    std::uniform_int_distribution<int> distribution(-50, 50);
    
    std::array<int, n> array;
    std::generate(array.begin(), array.end(), std::bind(distribution, generator));
    
    std::cout << "Generated array:\n";
    std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
    
    std::cout << "\nSorted array:\n";
    for (int i = 0; i < n; ++i)
        for (int j = i + 1; j < n; ++j)
        if (array[j] >= 0)
        if (array[i] > array[j])
            std::swap(array[i], array[j]);  
    std::copy(array.begin(), array.end(), std::ostream_iterator<int>(std::cout, " "));
}
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 18
24.05.2015, 21:33  [ТС] 3
не пошло
1>СБОЙ построения.
0
Pure Free Digital Ghost
4590 / 1903 / 368
Регистрация: 06.01.2013
Сообщений: 4,552
24.05.2015, 21:38 4
slientme, компилировать с поддержкой C++11.
0
239 / 212 / 84
Регистрация: 18.03.2010
Сообщений: 750
24.05.2015, 21:38 5
Цитата Сообщение от slientme Посмотреть сообщение
if a[j]>=0 then
к чему тут эта строка? отрицательные элементы пропускаются и что это за сортировка?
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 18
24.05.2015, 21:40  [ТС] 6
пробивал и то и другое не хочет( что делать?

Добавлено через 55 секунд
FraidZZ, нет ток 10
0
Pure Free Digital Ghost
4590 / 1903 / 368
Регистрация: 06.01.2013
Сообщений: 4,552
24.05.2015, 21:40 7
Цитата Сообщение от slientme Посмотреть сообщение
ток 10
Нет такого стандарта.

Добавлено через 11 секунд
Какой компилятор?
0
239 / 212 / 84
Регистрация: 18.03.2010
Сообщений: 750
24.05.2015, 21:44 8
может так проще?
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 <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "");
    const int n = 15; 
    int a[15];
    int i, j, x;
    
    srand(time(NULL));
    cout << "Сформований масив:";
    for(i=0; i<n; i++)
    {
        a[i] = rand() % 100 - 50;
        cout << "\nA[" << i << "]: " << a[i];
    }
 
    for(i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
    //  if(a[j] >= 0)
        {
            if ( a[i] > a[j] )
            {
                x = a[i];
                a[i] = a[j];
                a[j] = x;
            }
        }
    cout << "\n\nВiдсортований масив:";
    for(i=1; i < n; i++)
        cout << "\na[" << i << "]=" << a[i];
 
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 18
24.05.2015, 21:47  [ТС] 9
FraidZZ, у меня стоит МС Visual Studio 2010 Pro. всё что знаю

Добавлено через 57 секунд
jonson, твое запустилось) спасибо)
0
Pure Free Digital Ghost
4590 / 1903 / 368
Регистрация: 06.01.2013
Сообщений: 4,552
24.05.2015, 21:49 10
Цитата Сообщение от slientme Посмотреть сообщение
всё что знаю
Студия поддерживает C++ новых стандартов через ректальное отверстие. Ставьте что-нибудь, что реально поддерживает C++.
0
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 18
24.05.2015, 21:51  [ТС] 11
jonson, переделай это
program zavd2;
var d,y,a:real; k,n:integer;
begin
write('Введiть числа a,n:');
readln(a,n);
k:=1; d:=a;
while k<=n do
begin
y:=(a-k*n);
d:=d*y;
k:=k+1;
end;
writeln('Сума виразу: ',d);
end.

Добавлено через 29 секунд
jonson, на С++
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2015, 21:51
Помогаю со студенческими работами здесь

Переписать программу из паскаля в с++. Одномерный динамический массив
Это динамический масив! Помогите пожалуйста в С++ записать. Type mse = ^ms; MS=Arrayof integer;...

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

Переписать из паскаля
Здравствуйте помогите пожалуйста переписать на с++:) var a,b:array of integer; ...

Переписать с Паскаля на C++
Все доброго времени суток. Нужно переписать программу с паскаля на плюсы. Смысл программы в том,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru