Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2014, 10:30   #1
Lodbrock
 
Регистрация: 13.10.2009
Сообщений: 4
По умолчанию Перевести код из Pascal в C++

Народ,помогите перевести коды для данных из паскаля в С++.

Задача:
положительные элементы, расположенные на главной диагонали заменить на минимальный элемент массива.
Код:
  const n = 5;  
  var i, j, min: Integer;
      a: array [1..n, 1..n] of Integer;      
begin         
  Randomize;
  for i := 1 to n do begin
    for j := 1 to n do begin
      a[i, j] := Random(100);
      Write(a[i, j]:5) 
    end;
    WriteLn
  end;
 
  min := a[1, 1]; 
  for i := 1 to n do begin
    for j := 1 to n do
      if a[i, j] < min then min := a[i, j]
  end;
  
  for i := 1 to n do
    a[i, i] := min;
  
  WriteLn('min = ', min);
  for i := 1 to n do begin
    for j := 1 to n do
      Write(a[i, j]:5);    
    WriteLn
  end
end.

Задача2:

В заданном двумерном массиве найти сумму элементов в каждой строке. Сформировать одномерный массив, содержащий полученные суммы, расположенные по возрастанию
Код:
uses crt;
var
   n,m,i,j,sum,x:integer;
   a:array[1..50,1..50] of integer;
   b:array[1..50]of integer;
begin
clrscr;
randomize;
write('Kolichestvo strok n=');
readln(n);
write('Kolichestvo stolbcov m=');
readln(m);
writeln('Matrica:');
for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
      end;
    writeln;
  end;
for i:=1 to n do
  begin
    Sum:=0;
    for j:=1 to m do
    Sum:=Sum+a[i,j]; 
    b[i]:=sum;   
  end;

for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]>b[j] then
   begin
     x:=b[i];
     b[i]:=b[j];
     b[j]:=x;
   end;
writeln('Otsortirovannyj massiv summ');
for i:=1 to n do
write(b[i],' ');
readln
end.
Помогите, пожалуйста, очень надо.

Последний раз редактировалось Stilet; 20.05.2014 в 11:12.
Lodbrock вне форума Ответить с цитированием
Старый 20.05.2014, 11:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По умолчанию Перевести код из Pascal в C++
Народ,помогите перевести коды для данных из паскаля в С++.

Задача:
положительные элементы, расположенные на главной диагонали заменить на минимальный элемент массива.
Код:

Код:
бла-бла main()
{
  const int n = 5;  
  int i, j, min,a[n][n];      

  for(i = 0;i<n;i++){
    for(j = 0;j<n;j++){
      a[i][j] = rand()%100;
      printf("%5d",a[i][j]); 
      if(a[i][j] < min || (i==0 && j==0) min = a[i, j];
    } printf('\n'); 
 }
 
 
  for(i = 0;i<n;i++)
    a[i][i] = min;
  
  printf('min = %d', min);

  for(i = 0;i<n;i++){
    for(j = 0;j<n;j++){
      printf("%5d",a[i][j]); 
    } printf('\n'); 
 }
 getchar();
 return 0
}
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2014, 11:37   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вторая задача:
Код:
#include <iostream>
#include <cstdlib>
#include <locale>

using namespace std;

const int N = 50;

int main() {
	int A[N][N] = {0};
	int B[N] = {0};
	int n, m;
		
	setlocale(0, "rus");
	
	cout << "\n Введите количество строк (от 1 до " << N << "): ";
	cin >> n; 
	cout << "\n Введите количество столбцов (от 1 до " << N << "): ";
	cin >> m;
	
	// Заполнение, вывод и подсчет суммы
	cout << "\n Матрица:\n ---------" << endl;
	for(int i = 0; i < n; i++) {
		int count = 0;
		for(int j = 0; j < m; j++) {
			A[i][j] = 1 + rand % 20;
			cout << " [" << A[i][j] << "]";
			coutt += A[i][j];
		}
		B[i] = count;
		cout << endl;
	}
	
	// Сортировка
	for(int i = 0; i < n; i++) {
		for(int j = (i + 1); j < n; j++) {
			if(B[i] > B[j]) {
				int temp = B[i];
				B[i] = B[j];
				B[j] = temp;
			}
		}
	}
	
	// Вывод результата
	cout << "\n Массив сумм:" << endl;
	for(int i = 0; i < n; i++) {
		cout << " [" << B[i] << "]";
	}
	cout << endl;
	
	system("pause");
	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 21.05.2014, 13:03   #4
Lodbrock
 
Регистрация: 13.10.2009
Сообщений: 4
По умолчанию

Спасибо большое! Вторая задача работает
Lodbrock вне форума Ответить с цитированием
Старый 21.05.2014, 13:08   #5
Lodbrock
 
Регистрация: 13.10.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
По умолчанию Перевести код из Pascal в C++
Народ,помогите перевести коды для данных из паскаля в С++.

Задача:
положительные элементы, расположенные на главной диагонали заменить на минимальный элемент массива.
Код:

Код:
бла-бла main()
{
  const int n = 5;  
  int i, j, min,a[n][n];      

  for(i = 0;i<n;i++){
    for(j = 0;j<n;j++){
      a[i][j] = rand()%100;
      printf("%5d",a[i][j]); 
      if(a[i][j] < min || (i==0 && j==0) min = a[i, j];
    } printf('\n'); 
 }
 
 
  for(i = 0;i<n;i++)
    a[i][i] = min;
  
  printf('min = %d', min);

  for(i = 0;i<n;i++){
    for(j = 0;j<n;j++){
      printf("%5d",a[i][j]); 
    } printf('\n'); 
 }
 getchar();
 return 0
}
Подходит?
Ошибки выдает

08.cpp(22): error C2143: синтаксическая ошибка: отсутствие ";" перед "<"
08.cpp(22): warning C4390: ";": обнаружен пустой контролируемый оператор; это правильно?
08.cpp(23): error C2664: printf: невозможно преобразовать параметр 1 из "char" в "const char *"
1> Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
08.cpp(30): error C2015: слишком много знаков в константе
08.cpp(35): error C2664: printf: невозможно преобразовать параметр 1 из "char" в "const char *"
1> Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
08.cpp(39): error C2143: синтаксическая ошибка: отсутствие ";" перед "}"
Lodbrock вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код с Pascal на C++ Sbobukh Помощь студентам 1 17.12.2013 19:28
Перевести код с C++ в Pascal BloodyBlade Помощь студентам 7 20.05.2012 20:24
Перевести код с Pascal на C++ Aaaaaa111 Помощь студентам 1 22.02.2012 14:28
перевести код с Pascal на C++ panic_a Помощь студентам 2 22.12.2010 00:37
Перевести код с Pascal в C++ gigaman Общие вопросы C/C++ 1 26.03.2008 12:18