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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
#1

Переписать за меня программу с Pascal на С++ - C++

09.12.2011, 11:09. Просмотров 387. Ответов 5
Метки нет (Все метки)

Кто может первести код из Паскаля в си++?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses wincrt;
var
   x : array[1..20,1..40] of byte
   i,j,
   m,n : byte;
begin
   write('kolichestvo vagonov : ');readln(m);
   write('kolichestvo mest    : ');readln(n);
   writeln('zapolnite massiv : ');
   for i:=1 to m do
     for j:=1 to n do
       read(x[i,j]);
   write('Введите номера интересующих Вас вагона и места : ');readln(m,n);
   if x[m,n] = 0
      then
         write('bilet est`')
      else
         write('bilet prodan');
end.
Т.к. паскаль я не учил, то для меня это очень проблематично. Вот условие задачи, если кому-нибудь понадобится :
В поезде 18 вагонов, в каждом из которых 36 мест. Информация о проданных на поезд билетах хранится в двумерном массиве, номера строк которых соответствуют номерам вагонов, а номера столбцов - номерам мест.Если билет на то или иное место продан, то соответствующий элемент массива имеет знчение 1, в противном случае - 0. Составить программу, определяющую, имеются ли свободные места в том или ином вагоне поезда. Очень на вас рассчитываю.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <sstream>
int main()
{
    int x[1..20,1..40]
    int i, j, m, n;
    cout<<"kolichestvo vagonov : ";
    cin>>m;
    cout<<"kolichestvo mest :";
    cin>>n;
    cout>>"zapolnite massiv : ";
попытался сам, но сделал только до сих пор(((.

Добавлено через 12 минут
Цитата Сообщение от Вася1q Посмотреть сообщение
for i:=1 to m do for j:=1 to n do read(x[i,j]); write('Введите номера интересующих Вас вагона и места : ');readln(m,n); if x[m,n] = 0 then
в частности эти строки вызываю затруднение. Помогите мне с ними.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 11:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переписать за меня программу с Pascal на С++ (C++):

Переписать за меня программу с C# на С++ - C++
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace saod_tree { class...

Программу pascal переписать под c++ - C++
Всем доброго времени суток, прошу помощи у вас по скольку слабо разбераюсь в этой отрасли. program gth; Uses crt; ...

Программу Pascal переписать под c++ - C++
Всем доброго времени суток много увожаемые пользователи форума. Прошу помощи у вас, по скольку очень плохо владею языком c++ program...

Программу pascal переписать под c++ - C++
Напечатать в возрастающем порядке все числа от 100 до 999, в десятичной записи в которых нет одинаковых цифр. Var s:string; ...

Программу pascal переписать под c++ условные операторы - C++
Всем доброго времени суток помогите переписать программу под c++ program lolz; Var a,c,x,f:real Begin ...

Переписать с pascal на c++ - C++
const a=5.7;b0=2;bk=8;h=2;x3=30;b1=4;b2=6; begin writeln('k = ',(b0+5.6)+(b1+5.6)+(b2+5.6)+(bk+5.6)+(x3/7*5.7)); end.

5
DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 11:24 #2
Когда будете вводить номера интересующего вагона, то в моём коде посмотрите, что проверяем номера места и вагона на -1 меньше, так как в отличие от паскаля в С++ элементы массива нумеруются с нуля, а так всё , как на паскале, но учтите, что листинг на паскале написан далеко не идеально.
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
 
{ short x[20][40];
 
int i, j, m, n;
    cout<<"kolichestvo vagonov : "<<endl;
    cin>>m;
    cout<<"kolichestvo mest :"<<endl;
    cin>>n;
    cout<<"zapolnite massiv : "<<endl;
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            cin>>x[m][n];
    cout<<"VVedite nomer interesuushih vas vagonona i mesta:"<<endl;
    cin>>i>>j;
    if(x[i-1][j-1]==0)
        cout<<"Bilet est";
    else cout<<"Bilet prodan";
    getch();
}
0
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
09.12.2011, 14:08  [ТС] #3
Я так понял моя программы недоработанная. Как бы ее улучшить?
0
DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 14:47 #4
Можно , например, после узнавания свободности места сделать повторный запрос, например, предложить запрос на другое место, + самая большая неточность, то, что n и m можно ввести больше размерности массива[20][40], что вызовет ошибку(Доступ к несуществующему элементу массива).Здесь 2 пути доработки :либо сделать массив динамическим и размерность m,n задавать с клавиатуры, либо проверять, чтобы m<=20 , n<=40.Но это всё ,скорее, не то чтобы доработка программы(я немного погорячился), а создание защиты от неправильной работы.А так алгоритм у вас правильный
0
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
09.12.2011, 17:06  [ТС] #5
DenCHS200, я не могли бы вы помочь мне...я хочу чтобы все было нагляднее. Вместо "заполните массив", программа сама бы заполняла его (учитывая что номера вагонов перечисляются по-порядку) а вот занятые и свободные места я бы вписывал в ручную.
0
DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 21:54 #6
Да, помогу. Чтобы программа сама заполняла массив, нужно заполнить его случайными числами.Для этого добавляем заголовочный файл
C++
1
#include <ctime>
Выполняем функцию для корректного назначения случайных чисел
C++
1
 srand(time(0));
и вместо ввода в массив значений
C++
1
cin>>x[m][n];
просто выполнить такой код
C++
1
x[m][n]=rand()%2;
Там вместо двойки поставьте такое число, которое может быть максимальным при заполнении случайных чисел, в моём примере с двойкой числа будут либо 0, либо 1, если с тройкой, то либо 0, либо 1, либо 2 и так далее.Так массив будет проинициализирован случайными числами.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 21:54
Привет! Вот еще темы с ответами:

Переписать с Pascal на С++ - C++
Var f1,f2: File of Real; i,n,k: Integer; x,s: Real; BEGIN Write('Введите кол-во чисел: '); Readln(n); ...

Переведити с Pascal на С++, хоть что нибудь, у меня стопр - C++
const k=4; a1=3.7718; a2=5,5168; a3=3,5245; f=1; n=3; h=0.05; w1=0.5; w2=7.5; var x,m1:real; i,j,m:integer; ...

Переписать проги с Pascal на С++ - C++
Помогите. 1# Переварачивает число. uses crt; var a: word; begin clrscr; write('Vvedite 4rehzna4noe 4islo: '); readln(a); ...

Переписать код с Pascal - C++
я тут написал на паскале нужно на С++ uses crt; var a,b:integer; q:boolean; z:real; begin clrscr; ...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
09.12.2011, 21:54
Ответ Создать тему
Опции темы

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