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

Перевод кода из Pascal в C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти два равных элемента массива http://www.cyberforum.ru/cpp-beginners/thread1050451.html
Текст задачи:Два равных элемента.Дан целочисленный двумерный массив А размера nxm.Известно что среди его элементов два и только два равны между собой.Напеатать их индексы Прошу помочь разобраться в коде построчно,что делает каждая строка #include<stdio.h> #include<conio.h> #include<stdlib.h> int main() { int n,m;
C++ Из N треугольников, заданных координатами своих вершин, имеет больший периметр? Из N треугольников, заданных координатами своих вершин, имеет больший периметр? http://www.cyberforum.ru/cpp-beginners/thread1050448.html
описать структуру с именем NOTE C++
1.описать структуру с именем NOTE содержащую сл. поля: фамилия, имя; номер телефона; день рождения(массив из 3-х чисел) 2. написать программу выполняющую сл. действия: ввод с клавиатуры данных в массив, состоящий из 7 элементов типа NOTE , записи должны размещены по алфавиту,фамилии;вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значенье которого введено с клавиатуры;...
Удаление столбцов из динамической матрицы C++
Здравствуйте, уважаемые форумчане! Возникла такая вот беда: Нужно из двумерного динамического массива удалить все столбцы, в которых есть хотя бы один нулевой элемент. В общем я понимаю принцип, как это должно быть реализовано, т.е. с начала мы перебираем все элементы в поисках нулевого и попутно считаем количество строк без нулей - это будет кол-во столбцов в новой матрице. Затем создаем...
C++ Время и структуры http://www.cyberforum.ru/cpp-beginners/thread1050440.html
(Пример из книжки) Почему переменной lt присваевается время не ссылаясь на элемент структуры? Например lt.time = time('\0'). Почему в функции time() написано '\0'? что за функция localtime()? В книге написано что она возвращает указатель на поэлементную форму параметра curtime, представленного в виде структуры tm. Но я ничего не понял. И как вобще это работает? struct tm *ptr; time_t...
C++ Файлы file=fopen("file.txt","r"); for( ; ; ) {if(feof(file)) break; fscanf(file,"%s",n); printf("%s ",n); } fclose(file); как сделать так, что бы считывало посимвольно? подробнее

Показать сообщение отдельно
GM1993
Сообщений: n/a

Перевод кода из Pascal в C++ - C++

21.12.2013, 02:00. Просмотров 682. Ответов 1
Метки (Все метки)

Помогите пожалуйста))

Дано:
A 5*4
формируемый массив
B 5*4, где bij=i+3,если i>=j
j-2 - иначе,
i=1..5, j=1..4
Условия задачи:
Определить номера строк матриц A и B, содержащих min элементы (IA и IB соответственно).
Если IA>IB, сформировать матрицу С из матрицы А, в которой строка с номером IA упорядочена по убыванию значений элементов. Иначе получить С из В, упорядочив в В по убыванию значений элементов IB строку.
Вывести B,IA,IB,C.
Подпроцесс 1 - Упорядочение элементов строки матрицы
Подпроцесс 2 - Определение номера строки матрицы, содержащей min элементы.

Pascal
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
const
  n=4; // Строки 
  m=5; // Столбцы
type
  arr=array[1..n,1..m]of integer;
var
  i,j,IA,IB: byte;
  a,b,c: arr;
 
// Возвращает индекс последней строки, содержащей минимальное значение
function GetMinNum(ar: arr):integer;
begin
  Result:=1;
    for i:=1 to n do
      for j:=1 to m do
        if ar[i,j]<Result then Result:=i;
end;
 
procedure LineSort(var ar: arr; LineNum: byte);
var
  buf: integer;
begin
  for i:=1 to m do
    for j:=1 to m-i do
      if Ar[LineNum,j]<Ar[LineNum,j+1] then
      begin
        buf:=Ar[LineNum,j];
        Ar[LineNum,j]:=Ar[LineNum,j+1];
        Ar[LineNum,j+1]:=buf;
      end;
end;
 
 
begin
  randomize;
  writeln('A:');
    for i:=1 to n do
    begin
        for j:=1 to m do
        begin
          a[i,j]:=random(20)-5;
            if i>=j then b[i,j]:=i+3
            else b[i,j]:=j-2;
          write(a[i,j]:4);
        end;
      writeln;
    end;
  IA:=GetMinNum(a);
  IB:=GetMinNum(b);
  writeln('IA = ',IA);
  writeln;
  writeln('B:');
    for i:=1 to n do
    begin
        for j:=1 to m do write(b[i,j]:4);
      writeln;
    end;
  writeln('IB = ',IB);
 
    if IA>IB then
    begin
      c:=a;
      LineSort(c, IA);
    end
    else begin
      c:=b;
      LineSort(c, IB);
    end;
 
  writeln('C:');
    for i:=1 to n do
    begin
        for j:=1 to m do write(c[i,j]:4);
      writeln;
    end;
 
  readln;
 
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru