C/C++ - перевести из Pascal в C++

Аватара пользователя
Ластик

C/C++ - перевести из Pascal в C++

Сообщение Ластик »

Помогите, пожалуйста, перевести из Pascal в C++

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

Вот задачи! Буду благодарна! (Хоть парочку, сама то и не одной не сделала в С++)





Код:

Код: Выделить всё

Program nastya;
uses crt;
var A,B: integer;
C:real;
begin
write('Число А: '); readln(A);
write('Число B: '); readln(B);
while B0 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 A4 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.
Аватара пользователя
torauma

Re: C/C++ - перевести из Pascal в C++

Сообщение torauma »

Третья:



Код:

Код: Выделить всё

#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 и для чего оно нужно.



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

Re: C/C++ - перевести из Pascal в C++

Сообщение yurfed »

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

Re: C/C++ - перевести из Pascal в C++

Сообщение Ластик »

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

Re: C/C++ - перевести из Pascal в C++

Сообщение Drongo »

Вторая.



Немного не уверен в правильности перевода 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;
}
Аватара пользователя
Ластик

Re: C/C++ - перевести из Pascal в C++

Сообщение Ластик »

Цитата Ластик:



Единственное тут программа выдала символ на сочетание букв
C/C++ - перевести из Pascal в C++




А я гадал-гадал, что это за конструкция такая...



Код в ворде набираете?
Аватара пользователя
Drongo

Re: C/C++ - перевести из Pascal в C++

Сообщение Drongo »

Цитата Ластик:



а в первой я так и не поняла где ошибка. все работает.
C/C++ - перевести из Pascal в C++




Формулировку задачи напишите. Может и правда все правильно, но очень в этом сомневаюсь.


Цитата Ластик:



Код:

while B0 do begin

C:=A/B;

writeln (С);

readln
C/C++ - перевести из Pascal в C++




Мне одному кажется, что в теле этого цикла не меняется B и, соответственно, цикл является бесконечным? То же самое могу спросить про все циклы while в первых двух задачах. И еще не понятно зачем использовать while там, где логичнее if?
Аватара пользователя
torauma

Re: C/C++ - перевести из Pascal в C++

Сообщение torauma »

Вот задание на 1 задачу.

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



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



torauma, я делала с if, но что то не получилось. Нашла похожую задачу в интернете, сделала по аналогии. Проверила - работает Изображение Вот такой из меня программист.

Вот задание на 1 задачу.

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

Re: C/C++ - перевести из Pascal в C++

Сообщение Ластик »

Цитата Ластик:



Проверила - работает
C/C++ - перевести из Pascal в C++




Вот не верю что эта программа нормально завершилась.


Цитата Ластик:



я делала с if, но что то не получилось.
C/C++ - перевести из Pascal в C++




Разбираться нужно почему не получилось. Условный оператор - одна из самых простых и часто используемых конструкций.
Аватара пользователя
torauma

Re: C/C++ - перевести из Pascal в C++

Сообщение torauma »

Код:

Код: Выделить всё

Program nastya;
uses crt;
var A,B: integer;
C:real;
begin
write('Число А: '); readln(A);
write('Число B: '); readln(B);
if  B0 then
begin
C:=A/B;
writeln (C);
readln
end
else B=0 
writeln ('Ошибка');
readln
end.

Программы нет, проверить не могу. Такой вид будет?)
Ответить

Вернуться в «Программирование и базы данных»