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

перевести из Турбо Паскальа в С++ - C++

Восстановить пароль Регистрация
 
Dakster
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 74
19.11.2013, 22:19     перевести из Турбо Паскальа в С++ #1
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
30
31
32
33
34
35
36
37
program inversiya;
uses crt;
var
a:array[1..10] of integer;
k,i,j,n:integer;
begin
  clrscr;
  randomize;
  writeln('исходный массив:');
  for i:=1 to 10 do
  begin
    a[i]:=random(21)-10;
    write(a[i]:5);
  end;
  n:=0;
  for i:=1 to 2 do
  begin
    k:=a[i];
    a[i]:=a[5-n];
    a[5-n]:=k;
    n:=n+1;
  end;
  n:=0;
  for i:=6 to 8 do
  begin
    k:=a[i];
    a[i]:=a[10-n];
    a[10-n]:=k;
    n:=n+1;
  end;
  writeln;
  textcolor(10);
  writeln('преобразованный массив:');
  for i:=1 to 10 do
  write(a[i]:5);
  readln;
end.
Очень прошу помочь...а вообще в программе надо заполнить массив из 10 элементов случайными числами в интервале [-10..10] и выполнить инверсию отдельно для 1-ой и 2-ой половины массива.. Если можно мне надо не случайными а чтобы я сам мог давать числа..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bars268
5 / 5 / 0
Регистрация: 26.01.2013
Сообщений: 39
20.11.2013, 07:31     перевести из Турбо Паскальа в С++ #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#define  _CRT_SECURE_NO_WARNINGS
 
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    srand (time(NULL));
int buf;
//объявляем массив 
int arr[9];
cout<<"Source array:\n";
//задаем массив
for (int i=0; i<10; i++) {
    arr[i] = rand() % 20 -10;
    cout<<setw(5)<<arr[i];
}
cout<<endl;
//инверсия первой половины
for (int i=0; i<=2;i++) {
    buf = arr[4-i];
    arr[4-i] = arr[i];
    arr[i] = buf;
}
//инверсия второй половины
for (int i=5; i<=7;i++) {
    buf = arr[14-i];
    arr[14-i] = arr[i];
    arr[i] = buf;
}
//выводим готовый массив
cout<<"array:\n";
for (int i=0; i<10; i++) {
    cout<<setw(5)<<arr[i];
}
_getch();
return 0;
}
Dakster
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 74
24.11.2013, 23:29  [ТС]     перевести из Турбо Паскальа в С++ #3
Цитата Сообщение от bars268 Посмотреть сообщение
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
#define  _CRT_SECURE_NO_WARNINGS
 
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    srand (time(NULL));
int buf;
//объявляем массив 
int arr[9];
cout<<"Source array:\n";
//задаем массив
for (int i=0; i<10; i++) {
    arr[i] = rand() % 20 -10;
    cout<<setw(5)<<arr[i];
}
cout<<endl;
//инверсия первой половины
for (int i=0; i<=2;i++) {
    buf = arr[4-i];
    arr[4-i] = arr[i];
    arr[i] = buf;
}
//инверсия второй половины
for (int i=5; i<=7;i++) {
    buf = arr[14-i];
    arr[14-i] = arr[i];
    arr[i] = buf;
}
//выводим готовый массив
cout<<"array:\n";
for (int i=0; i<10; i++) {
    cout<<setw(5)<<arr[i];
}
_getch();
return 0;
}
а если я хочу ввести суммы сам? без randomize! где нужно поменять?
bars268
5 / 5 / 0
Регистрация: 26.01.2013
Сообщений: 39
25.11.2013, 18:12     перевести из Турбо Паскальа в С++ #4
C++
1
2
3
4
for (int i=0; i<10; i++) {
    arr[i] = rand() % 20 -10;
    cout<<setw(5)<<arr[i];
}
это поменять на
C++
1
2
3
for (int i=0; i<10; i++) {
    cin>>arr[i];
}
Dakster
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 74
25.11.2013, 19:45  [ТС]     перевести из Турбо Паскальа в С++ #5
Спасибо большое! можешь помочь еще с одним решением? Надо заполнить массив из 12 элементов в интервале [-12..12] и выполнить инверсию для каждой трети массива. и суммы должен вводить сам..например
4 -5 3 10| -4 -6 8 -10| 1 0 5 7
и выходит у нас
10 3 -5 4| -10 8 -6 -4| 7 5 0 1

Добавлено через 4 минуты
и еще не могу понять зачемы ты тут for (int i=0; i<=2;i++) {
for (int i=0; i<=2;i++) {
buf = arr[4-i];
arr[4-i] = arr[i];
arr[i] = buf;
}
//инверсия второй половины
for (int i=5; i<=7;i++) {
buf = arr[14-i];
arr[14-i] = arr[i];
arr[i] = buf;
} меняешь цифры? и зачем? например ты в первом инверсси написал цифры 0,2 и 4 , а во второй половине 5,7 и 14???
Yandex
Объявления
25.11.2013, 19:45     перевести из Турбо Паскальа в С++
Ответ Создать тему
Опции темы

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