Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - перевести из Pascal в C++

Ответить
Настройки темы
C/C++ - перевести из Pascal в C++

Аватара для Ластик

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Drongo
Дата: 27-11-2013
Описание: тег код...
Помогите, пожалуйста, перевести из Pascal в C++
Прошлую ночь решала задачи в Паскале, решила, сегодня это же нужно в С++. Тут я вообще ничего не понимаю
Вот задачи! Буду благодарна! (Хоть парочку, сама то и не одной не сделала в С++)

Код: Выделить весь код
Program nastya;
uses crt;
var A,B: integer;
C:real;
begin
write('Число А: '); readln(A);
write('Число B: '); readln(B);
while B<>0 do begin
C:=A/B;
writeln ©;
readln
end;
while B=0 do
writeln ('Ошибка');
readln
end.

Код: Выделить весь код
Program nastya;
uses crt;
var A:integer;
begin
write('Введите число от 0 до 4: '); readln(A);
case A of
0 : writeln('Ноль');
1 : writeln('Один');
2 : writeln('Два');
3 : writeln('Три');
4 : writeln('Четыре');
end;
while A<0 do
writeln ('Ошибка');
readln;
while A>4 do
writeln ('Ошибка');
readln
end.
Код: Выделить весь код
Program stepen;
uses crt;
var A,B:real;
N:integer;
begin
write('Введите число A: '); readln(A);
write('Введите степень N(целое положительное число): '); readln(N);
B:=Exp(Ln(A)*N);
writeln(B);
readln
end.
Код: Выделить весь код
Program massiv;
uses crt;
const M=10;
N=10;
var
matrix:array[1..M,1..N] of integer;
k, i, j, p, sum: longint;
begin
p:=1;
write('Введите число k: '); readln(k);
for i:= 1 to N do
begin
for j:= 1 to M do
begin
matrix[i,j]:=random(10);
write(matrix[i,j]:5);
if j = k then begin inc(sum, matrix[i,j]); p := p * matrix[i,j]; end;
end;
writeln;
end;
writeln;
writeln('Произведение ',k,' столбца : ',p);
end.

Отправлено: 23:38, 26-11-2013

 

Пользователь


Сообщения: 121
Благодарности: 35

Профиль | Отправить PM | Цитировать


Третья:
Код: Выделить весь код
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	float A,B;
	int N;
	cout << "Введите число A: ";
	cin >> A;
	cout << "Введите степень N(целое положительное число): ";
	cin >> N;
	B = exp(log(A) * N);
	cout << B << endl;
	return 0;
}
Четвертая:
Код: Выделить весь код
#include <iostream>
#include <iomanip>
#include <time.h>

using namespace std;

int main()
{
	const int M = 10, N = 10;
	srand(time(NULL));
	int matrix[M][N];
	long k, i, j, p, sum;
	p = 1;
	cout << "Введите число k: "; 
	cin >> k;
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < M; j++)
		{
			matrix[i][j] = rand() % 10;
			cout << setw(5) << matrix[i][j];
			if (j + 1 == k)
			{
				sum += matrix[i][j];
				p *= matrix[i][j];
			}
		}
		cout << endl;
	}
	cout << endl << "Произведение " << k << " столбца : "  << p << endl;
	return 0;
}
У вас в четвертой задаче допущен недочет: функция random будет при каждом запуске выдавать одни и те же числа. Разберитесь что такое randomize и для чего оно нужно.

В первых двух задачах бесконечные циклы. Исправьте на Паскале, тогда и с переводом поможем.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:16, 27-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Ластик

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо Вам! очень помогли! Учту все Ваши комментарии)))))))))))

Отправлено: 12:13, 27-11-2013 | #3


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Вторая.

Немного не уверен в правильности перевода readln
И ещё почему циклы проверки введённых значений у вас какие-то странные? У вас при любом числе кроме нуля будет ошибка. И лучше два while соединить в один через логическое И, либо сделать условие (A != 0) // А не равно нулю
Код: Выделить весь код
#include <iostream>
using namespace std;

int main()
{
   int A;
   cout << "Введите число от 0 до 4: " << endl;
   cin >> A;

   switch(A){
      case 0:
         cout << "Ноль" << endl;
         break;
      case 1:
         cout << "Один" << endl;
         break;
      case 2:
         cout << "Два" << endl;
         break;
      case 3:
         cout << "Три" << endl;
         break;
      case 4:
         cout << "Четыре" << endl;
         break;
      default:
         cout << "Ошибка ввода" << endl;
         break;
     }
   while(A < 0){
      cout << "Ошибка" << endl;
      cin >> A;
     }
   while(A > 0){
      cout << "Ошибка" << endl;
      cin >> A;
     }

   cin >> A;

	return 0;
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:42, 27-11-2013 | #4


Аватара для Ластик

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо. поняла где ошибка, А должно быть больше 4х. )))))))))))))))))))))))))))))))))
while(A > 4)
Еще раз спасибо!!!!!

а в первой я так и не поняла где ошибка. все работает. проверяла)))
Единственное тут программа выдала символ на сочетание букв
Код: Выделить весь код
while B<>0 do begin
C:=A/B;
writeln ©;
readln
а должно быть
Код: Выделить весь код
while B<>0 do begin
C:=A/B;
writeln (С);
readln

Последний раз редактировалось Drongo, 27-11-2013 в 21:27.


Отправлено: 20:35, 27-11-2013 | #5


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата Ластик:
Единственное тут программа выдала символ на сочетание букв »
А я гадал-гадал, что это за конструкция такая...

Код в ворде набираете?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:28, 27-11-2013 | #6


Пользователь


Сообщения: 121
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата Ластик:
а в первой я так и не поняла где ошибка. все работает. »
Формулировку задачи напишите. Может и правда все правильно, но очень в этом сомневаюсь.
Цитата Ластик:
Код:
while B<>0 do begin
C:=A/B;
writeln (С);
readln »
Мне одному кажется, что в теле этого цикла не меняется B и, соответственно, цикл является бесконечным? То же самое могу спросить про все циклы while в первых двух задачах. И еще не понятно зачем использовать while там, где логичнее if?
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:40, 27-11-2013 | #7


Аватара для Ластик

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот задание на 1 задачу.
Введите 2 числа, А и В. Если В не равно 0, то А разделить на В, иначе выдать "Ошибка"

Drongo, Я просто скопировала для распечатки в ворд, и от туда сюда скопировала, вот и получился символ

torauma, я делала с if, но что то не получилось. Нашла похожую задачу в интернете, сделала по аналогии. Проверила - работает Вот такой из меня программист.
Вот задание на 1 задачу.
Введите 2 числа, А и В. Если В не равно 0, то А разделить на В, иначе выдать "Ошибка"

Отправлено: 21:47, 27-11-2013 | #8


Пользователь


Сообщения: 121
Благодарности: 35

Профиль | Отправить PM | Цитировать


Цитата Ластик:
Проверила - работает »
Вот не верю что эта программа нормально завершилась.
Цитата Ластик:
я делала с if, но что то не получилось. »
Разбираться нужно почему не получилось. Условный оператор - одна из самых простых и часто используемых конструкций.

Отправлено: 22:26, 27-11-2013 | #9


Аватара для Ластик

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Program nastya;
uses crt;
var A,B: integer;
C:real;
begin
write('Число А: '); readln(A);
write('Число B: '); readln(B);
if  B<>0 then
begin
C:=A/B;
writeln (C);
readln
end
else B=0 
writeln ('Ошибка');
readln
end.
Программы нет, проверить не могу. Такой вид будет?)

Последний раз редактировалось Ластик, 28-11-2013 в 15:02. Причина: tag code #


Отправлено: 22:58, 27-11-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - перевести из Pascal в C++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - пожалуйста, помогите перевести этот код из паскаля в с++ Киры4 Программирование и базы данных 2 29-05-2013 16:19
C/C++ - Перевести програму из Pascal на C starker Программирование и базы данных 0 13-12-2012 19:02
C/C++ - Нужно перевести с pascal на C и добавить циклы к ней Чин Хон Программирование и базы данных 8 03-02-2011 23:54
Разное - перевести с кода C++ на Pascal... radeon37 Программирование и базы данных 0 03-06-2010 12:20
Подскажите как перевести (конверовать) из Exsel в Word. Alex45 Хочу все знать 9 24-09-2003 20:47




 
Переход