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

Как передать массив из одной функции в другую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создайте класс с константной переменной, значение которой задается в списке инициализирующий значений конструктора, и безымянным перечислением http://www.cyberforum.ru/cpp-beginners/thread1025167.html
Создайте класс с константной переменной, значение которой задается в списке инициализирующий значений конструктора, и безымянным перечислением, используемым для определения размера массива. class X{ const int *arr; public: X(int a):arr(a) {} }; void main(){ int a1={1,2,3}; X x(a1);
C++ Максимальный поток - лучший алгоритм Здравствуйте дорогие форумчане. Давно я не заходил на этот форум. Но столкнулся с небольшой проблемкой. Есть абсолютно работоспособная программа, основная задача которой сводится к нахождению максимального потока в двудольном графе. С одним "но": на программу наложен очень жесткий лимит по времени выполнения. Я попробовал Диница, Форда-Фалкерсона. Но оба они получают TL. Собственно вопрос состоит... http://www.cyberforum.ru/cpp-beginners/thread1025159.html
C++ Для каждой из матриц подсчитать количество четных элементов в каждой строке
даны 2 матрицы разн.размерности. Для каждой из них подсчитать кол-во четных эл-тов в каждой строке. Использовать процедуры и ф-ции.
сортировка массива C++
это код сортировки массива: #include <iostream> #include <conio.h> using namespace std; int main() {int mass; int iteracia=0; for (int i=0;i<5;i++)
C++ Как описывать множества, пересекать их, складывать http://www.cyberforum.ru/cpp-beginners/thread1025127.html
Расскажите, как описывать множества, пересекать их, складывать и т.д. Искал в гугле, но не нашел ничего путного
C++ Сформировать одномерный массив целых чисел 1.Сформировать одномерный массив целых чисел. 2.Распечатать полученный массив. 3.Удалить элементы,индексы которых кратны 3. 4.Добавить после каждого отрицательного элемента M массива элемент со значением M-1. 5.Распечатать полученный массив. Программу надо написать используя вектор. подробнее

Показать сообщение отдельно
Kosotornov
1 / 1 / 0
Регистрация: 24.05.2013
Сообщений: 41
02.12.2013, 02:56  [ТС]     Как передать массив из одной функции в другую
Цитата Сообщение от MrGluck Посмотреть сообщение
Текст задания нужен.
задание
сортировка по методу поиска максимума
Название: 1385938377-clip-4kb.png
Просмотров: 129

Размер: 4.1 Кб
полная лаба,не все скопировал пардон
Кликните здесь для просмотра всего текста
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
const{обзываем константы}
  razmer = 10;{константа}
 
type{определяем типы}
  Tind = 1..razmer;{тип индекса}
  TElim = integer;{тип элемента}
  Tmatr = array [tind, tind] of Telim;{тип массива}
  Tmas = array[tind] of Telim;{тип массива}
 
procedure vvod(var mat: tmatr; var pol, raz: tind);{процедура}
var{обзываем переменные}
  i, j: tind;{обзываем переменные}
begin{операторные скобки}
  Readln(pol);{размер массива}
  raz := 2 * pol;{оператор присваивания}
  for i := 1 to raz do{цикл }
    for j := 1 to raz do{цикл}
      mat[i, j] := (2 * raz + (i - 1) * 10 - (j - 1));{забиваем массива}
end;{операторные скобки}
 
procedure nul(var mat: tmatr; pol, raz: tind);{процедура}
var{обзываем переменные}
  chet, i, j: tind;{обзываем переменные}
begin{операторные скобки}
  chet := 0;{оператор присваивания}
  for j := 1 to pol - 1 do {цикл}
  begin{операторные скобки}
    chet := chet + 1;{оператор присваивания}
    for i := chet + 1 to raz - chet do{цикл}
      mat[i, j] := 0;{оператор присваивания}
  end; {операторные скобки}    
  chet := 0;{оператор присваивания}
  for j := raz downto pol + 2 do{цикл}
  begin{операторные скобки}
    chet := chet + 1;{оператор присваивания}
    for i := chet + 1 to raz - chet do 
      mat[i, j] := 0;{оператор присваивания}
  end; {операторные скобки}    
end;{операторные скобки}
 
procedure massiv(var mass: tmas; chet: tind);{процедура}
var{обзываем переменные}
  max: telim;{обзываем переменные}
  imax, ii, kk: tind;{обзываем переменные}
begin{операторные скобки}
  for kk := 1 to chet - 1 do{цикл}
  begin{операторные скобки}
    max := mass[kk];{оператор присваивания}
    imax := kk;{оператор присваивания}
    for ii := kk + 1 to chet do{цикл}
      if max < mass[ii] then 
      begin{операторные скобки}
        max := mass[ii];{оператор присваивания}
        imax := ii;{оператор присваивания}
      end;{операторные скобки}
    mass[imax] := mass[kk];{оператор присваивания}
    mass[kk] := max;{оператор присваивания}
  end;{операторные скобки}
end;{операторные скобки}
 
procedure sort1(var mat: tmatr; pol, raz: tind);{процедура}
var{обзываем переменные}
  i, j, chet1, chet2: tind;{обзываем переменные}
  mas: tmas;{обзываем переменные}
begin{операторные скобки}
  for j := 1 to pol do  {цикл}
  begin{операторные скобки}
    chet1 := 0;{оператор присваивания}
    chet2 := 0;{оператор присваивания}
    for i := 1 to j do{цикл}
    begin{операторные скобки}
      chet1 := chet1 + 1;{оператор присваивания}
      mas[chet1] := mat[i, j];{оператор присваивания}
    end;{операторные скобки}
    for i := raz + 1 - j to raz do{цикл} 
    begin{операторные скобки}
      chet1 := chet1 + 1;{оператор присваивания}
      mas[chet1] := mat[i, j];{оператор присваивания}
    end;  {операторные скобки}    
    massiv(mas, chet1);
    for i := 1 to j do{цикл}
    begin{операторные скобки}
      chet2 := chet2 + 1;{оператор присваивания}
      mat[i, j] := mas[chet2];{оператор присваивания}
    end;{операторные скобки}
    for i := raz + 1 - j to raz do{цикл}
    begin{операторные скобки}
      chet2 := chet2 + 1;{оператор присваивания}
      mat[i, j] := mas[chet2];{оператор присваивания}
    end;{операторные скобки}
  end;{операторные скобки}
end;{операторные скобки}
 
procedure sort2(var mat: tmatr; pol, raz: tind);{процедура}
var{обзываем переменные}
  i, j, chet1, chet2: tind;{обзываем переменные}
  mas: tmas;{обзываем переменные}
begin{операторные скобки}
  for j := raz downto pol + 1 do{цикл} 
  begin{операторные скобки}
    chet1 := 0;{оператор присваивания}
    chet2 := 0;{оператор присваивания}
    for i := 1 to raz + 1 - j do {цикл}
    begin{операторные скобки}
      chet1 := chet1 + 1;{оператор присваивания}
      mas[chet1] := mat[i, j];{оператор присваивания}
    end;{операторные скобки}
    for i := j to raz do {цикл}
    begin{операторные скобки}
      chet1 := chet1 + 1;{оператор присваивания}
      mas[chet1] := mat[i, j];{оператор присваивания}
    end;{операторные скобки}
    massiv(mas, chet1);
    for i := 1 to raz + 1 - j do {цикл} 
    begin{операторные скобки}
      chet2 := chet2 + 1;{оператор присваивания}
      mat[i, j] := mas[chet2];{оператор присваивания}
    end;{операторные скобки}
    for i := j to raz do {цикл}
    begin{операторные скобки}
      chet2 := chet2 + 1;{оператор присваивания}
      mat[i, j] := mas[chet2];{оператор присваивания}
    end;{операторные скобки}
  end;{операторные скобки}
end;{операторные скобки}
 
 
 
 
procedure vivod(mat: tmatr; pol, raz: tind);{процедура}
var{обзываем переменные}
  i, j: tind;{обзываем переменные}
begin{операторные скобки}
  for i := 1 to raz do{цикл}
  begin{операторные скобки}
    writeln();{вывод на экран}
    for j := 1 to raz do{цикл}
    begin{операторные скобки}
      write(mat[i, j]:pol, ' ');{вывод на экран}
    end;{операторные скобки}
  end;{операторные скобки}
end;{операторные скобки}
 
var{обзываем переменные}
  matr: tmatr;{обзываем переменные}
  polovina, razm: tind;
 
begin{операторные скобки}
  writeln('Введите половину массива');{вывод на экран}
  writeln();{вывод на экран}
  vvod(matr, polovina, razm);{процедура}
  writeln('изначальный массив имеет вид');{вывод на экран}
  writeln();{вывод на экран}
  vivod(matr, polovina, razm);{процедура}
  writeln();{вывод на экран}
  nul(matr, polovina, razm);{процедура}
  sort1(matr, polovina, razm);{процедура}
  sort2(matr, polovina, razm);{процедура}
  writeln();{вывод на экран}
  writeln('отсортированный массив имеет вид');{вывод на экран}
  writeln();{вывод на экран}
  vivod(matr, polovina, razm);{процедура}
end.{операторные скобки}
 
Текущее время: 04:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru