Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314

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

09.12.2011, 11:09. Показов 861. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2011, 11:09
Ответы с готовыми решениями:

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

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

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

5
 Аватар для DenCHS200
32 / 32 / 8
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 11:24
Когда будете вводить номера интересующего вагона, то в моём коде посмотрите, что проверяем номера места и вагона на -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 / 3
Регистрация: 13.09.2011
Сообщений: 314
09.12.2011, 14:08  [ТС]
Я так понял моя программы недоработанная. Как бы ее улучшить?
0
 Аватар для DenCHS200
32 / 32 / 8
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 14:47
Можно , например, после узнавания свободности места сделать повторный запрос, например, предложить запрос на другое место, + самая большая неточность, то, что n и m можно ввести больше размерности массива[20][40], что вызовет ошибку(Доступ к несуществующему элементу массива).Здесь 2 пути доработки :либо сделать массив динамическим и размерность m,n задавать с клавиатуры, либо проверять, чтобы m<=20 , n<=40.Но это всё ,скорее, не то чтобы доработка программы(я немного погорячился), а создание защиты от неправильной работы.А так алгоритм у вас правильный
0
 Аватар для Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
09.12.2011, 17:06  [ТС]
DenCHS200, я не могли бы вы помочь мне...я хочу чтобы все было нагляднее. Вместо "заполните массив", программа сама бы заполняла его (учитывая что номера вагонов перечисляются по-порядку) а вот занятые и свободные места я бы вписывал в ручную.
0
 Аватар для DenCHS200
32 / 32 / 8
Регистрация: 07.10.2011
Сообщений: 117
09.12.2011, 21:54
Да, помогу. Чтобы программа сама заполняла массив, нужно заполнить его случайными числами.Для этого добавляем заголовочный файл
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.12.2011, 21:54
Помогаю со студенческими работами здесь

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

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

Переписать программу с Turbo Pascal на Pascal ABC
Здравствуйте, не могли бы помочь переписать программу с Turbo Pascal на Pascal ABC. Хоть убейте не могу запустить на Turbo. Программа...

Переписать программу с Turbo Pascal на Pascal ABC
Помогите пожалуйста перевести код с Turbo Pascal на Pascal ABC uses graph,crt; const n=20; //размер массива type stb=record //тип...

Переписать программу с Turbo Pascal на Pascal ABC
Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC. Помогите пожалуйста,делаю,но конечный результат не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru