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

переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) - C++

Восстановить пароль Регистрация
 
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
17.02.2013, 10:11     переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) #1
с паскаля на с++...буду очень признателен. вот текст задачи. Квадратная матрица, симметричная относительно главной диагонали, задана своим верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать ее по строкам.
Под директивой iostream

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
uses
   crt;
 
const
   nmax = 20; 
 
var
   b: array [1..(nmax * (nmax + 1) ) div 2] of integer; 
   a: array[1..nmax, 1..nmax] of integer; 
   n, i, j, k: integer; 
 
begin
   clrscr;
   randomize;
   repeat 
      write('Pasмep матрицы до ,nmax, n=');
      readln(n); 
   until n in [1..nmax]; 
   writeln('Элементы верхней орeyгoльНoй матрицы:'); 
   for i := 1 to (n * (n + 1)) div 2 do 
   begin
      b[i] := random(50);
      write(b[i]:4); 
   end; 
   writeln;
   writeln; 
   writeln(' Исходная матрица:');
   k := 0;
   for i := 1 to n do 
      for j := i to n do 
      begin
         k := k + 1;
         a[i, j] := b[k]; 
         a[j, i] := b[k]; 
      end; 
   for i := 1 to n do 
   begin
      for j := 1 to n do
         write(a[i, j]:4);
      writeln;
   end; 
   readln;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 10:11     переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам)
Посмотрите здесь:

C++ переделать программу из Pascal в язык С
переделать программу из pascal в C++ C++
Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива.Восстановить исходную матрицу C++
C++ Объясните пожалуйста (Матрица задана в виде одномерного массива. Восстановить исходную)
C++ Непонятно условие задачи: Вывести исходную матрицу, преобразованную матрицу и вектор Х.
Переделать программу написанную на Pascal в С++ C++
C++ По строкам s2 и s3 восстановить строку s1
C++ Ввести с клавиатуры матрицу размерностью M x N. Вывести исходную матрицу, номер строки или столбца с заданны

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HackSign
33 / 33 / 13
Регистрация: 23.11.2006
Сообщений: 109
17.02.2013, 17:49     переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) #2
Попробуй, коли что не пойдет - напишешь.

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream.h>
#include <conio.h>
#include <stdlib.h> 
#include <math.h> 
 
int main()
{
 int i, n, j, s, k; 
 int nmax; 
 s=20;  
 nmax = ((s*(s+1))/2); 
 int mas[nmax]; 
 int mas2[nmax][nmax]; 
 // âîçìîæГ*Г* ÔóГ*êöèÿ ïîâòîðГ*
 cout << "ГђГ*çìåð Г¬Г*òðèöû äî "<<nmax<<"n= "; 
 cin>>n;
 cout <<"\n"; 
 //
 cout <<"ÝëåìåГ*ГІГ» âåðõГ*ГҐГ© òðåóãîëüГ*îé Г¬Г*òðèöû "; 
 j= ((n*(n+1))/2); 
 for (i=1; i<=j; i++) 
  { 
     mas[i] = (rand() % 50+1);  
     cout<<mas[i]<<" ";       
           }
  cout<<"\n";
  cout<<"\n"; 
  cout<<"ÈñõîäГ*Г*Гї Г¬Г*òðèöГ* "; 
  k=0;
  for (i=0;i<=n;i++) 
   { 
    for(j=i;j<=n;j++) 
     { 
      k=k+1; 
      mas2[i][j]=mas[k];
      mas2[j][i]=mas[k]; 
      }
    }
   for(i=0;i<=n;i++)
    { 
     for(j=i;j<=n;j++)
      { 
       cout<<mas2[i][j]<<" ";
       }
      cout<<"\n"; 
     } 
     getch();
return 0;
}
хай
2 / 2 / 0
Регистрация: 22.11.2012
Сообщений: 99
18.02.2013, 15:17  [ТС]     переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам) #3
Спасибо, сейчас попробую

Добавлено через 4 минуты
HackSign, ммм...работает на малых значениях, больше 13 выдает ошибку....и в исходной матрице пишет мусор.

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
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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h> 
#include <math.h> 
#include <clocale>
 
int main()
{
 setlocale(LC_ALL, "rus");
 int i, n, j, s, k; 
 int nmax; 
 s=20;  
 nmax = ((s*(s+1))/2); 
 int mas[nmax]; 
 int mas2[nmax][nmax]; 
 // возможна Функция повтора
 cout << "Размер матрицы до "<<nmax<<"  n= "; 
 cin>>n;
 cout <<"\n"; 
 //
 cout <<"Элементы верхней треугольной матрицы "; 
 j= ((n*(n+1))/2); 
 for (i=1; i<=j; i++) 
  { 
     mas[i] = (rand() % 50+1);  
     cout<<mas[i]<<" ";       
           }
  cout<<"\n";
  cout<<"\n"; 
  cout<<"Исходная матрица "; 
  k=0;
  for (i=0;i<=n;i++) 
   { 
    for(j=i;j<=n;j++) 
     { 
      k=k+1; 
      mas2[i][j]=mas[k];
      mas2[j][i]=mas[k]; 
      }
    }
   for(i=0;i<=n;i++)
    { 
     for(j=i;j<=n;j++)
      { 
       cout<<mas2[i][j]<<" ";
       }
      cout<<"\n"; 
     } 
     getch();
return 0;
}
Yandex
Объявления
18.02.2013, 15:17     переделать программу Pascal -> C++ (Восстановить исходную матрицу и напечатать ее по строкам)
Ответ Создать тему
Опции темы

Текущее время: 17:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru