Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
C.J.
1 / 1 / 1
Регистрация: 19.11.2009
Сообщений: 42
1

Добавить столбец, состоящий из единиц

18.02.2010, 07:37. Просмотров 1558. Ответов 6
Метки нет (Все метки)

Дана матрица размером 5x9. Перед(после) первого(последнего) столбца, содержащего только положительные элементы, добавить столбец, состоящий из единиц.

Добавлено через 9 часов 11 минут
Помогите, пожалуйста, очень надо((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 07:37
Ответы с готовыми решениями:

Существует ли в матрице столбец, состоящий только из нулей
Заполнить массив 2 на 5 случайными числами от 0 до 1. вывести «да», если...

После столбца матрицы с номером K вставить столбец из единиц.
Не могу найти где надо исправить код.Помогите пжл . Условие задачи: Дана...

После столбца матрицы с номером K вставить столбец из единиц
Дорогие программисты.Решите пожалуста хоть что то из этого. 1)Дана...

Определить, есть ли в массиве столбец, состоящий только из элементов, принадлежащих интервалу от 0 до b
Дан двухмерный массив целых чисел,определить есть ли в нем столбец состоящий...

Поменять местами столбец с максималь- ным элементом и первый столбец массива
Ввести двумерный массив размером 3*5. Поменять местами столбец с максималь-...

6
Puporev
Модератор
54686 / 42104 / 29072
Регистрация: 18.05.2008
Сообщений: 99,357
18.02.2010, 10:55 2
Цитата Сообщение от C.J. Посмотреть сообщение
Перед(после) первого(последнего) столбца,
Это 4 варианта писать?
0
Alex_Rider
2 / 2 / 0
Регистрация: 20.11.2009
Сообщений: 51
18.02.2010, 10:58 3
Нет это 2 варианта просто но можно всё в один сделать, сначало без скобок, а потом в скобках..........
0
Puporev
Модератор
54686 / 42104 / 29072
Регистрация: 18.05.2008
Сообщений: 99,357
18.02.2010, 12:06 4
Все варианты.
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
uses crt;
const n=5;
      m=9;
type matr=array[1..n,1..m+1] of integer;
procedure Vvod(var mt:matr);//создание и вывод исходной матрицы
var i,j:byte;
begin
Writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    mt[i,j]:=random(10)-1;
    write(mt[i,j]:4);
   end;
  writeln;
 end;
end;
procedure Vyvod(var mt:matr);//вывод результата
var i,j:byte;
begin
for i:=1 to n do
 begin
  for j:=1 to m+1 do
  write(mt[i,j]:4);
  writeln;
 end;
readln;
end;
procedure Poisk1(mt:matr;var s,f:byte);//поиск первого с положительными
var i,j,k:byte;
begin
f:=0;
for j:=1 to m do
 begin
  k:=0;
  for i:=1 to n do
  if mt[i,j]>0 then k:=k+1;
  if k=n then
   begin
    f:=1;
    s:=j;
    break;
   end;
 end;
end;
procedure PoiskP(mt:matr;var s,f:byte);//поиск последнего с положительными
var i,j,k:byte;
begin
f:=0;
for j:=m downto 1 do
 begin
  k:=0;
  for i:=1 to n do
  if mt[i,j]>0 then k:=k+1;
  if k=n then
   begin
    f:=1;
    s:=j;
    break;
   end;
 end;
end;
procedure Pered(var mt:matr;s:byte);//вставка столбца перед
var i,j:byte;
begin
for i:=1 to n do
for j:=m+1 downto s+1 do
mt[i,j]:=mt[i,j-1];
for i:=1 to n do
mt[i,s]:=1;
end;
procedure Posle(var mt:matr;s:byte);//вставка столбца после
var i,j:byte;
begin
if s=m then
for i:=1 to n do
mt[i,m+1]:=1
else
 begin
  for i:=1 to n do
  for j:=m+1 downto s+2 do
  mt[i,j]:=mt[i,j-1];
  for i:=1 to n do
  mt[i,s+1]:=1;
 end;
end;
var a,a1,a2,a3,a4:matr;
    i,j,k,f:byte;
    w:char;
begin
clrscr;
randomize;
repeat
clrscr;
writeln('Выберите действие:');
writeln('1-вставить столбец перед первым положительным столбцом');
writeln('2-вставить столбец после первого положительного столбца');
writeln('3-вставить столбец перед последним положительным столбцом');
writeln('4-вставить столбец после последнего положительного столбца');
writeln('дргое-выход');
readln(w);
case w of
'1':begin
    Vvod(a);
    Poisk1(a,k,f);
    if f=0 then write('Столбца с положительными элементами нет!')
    else
     begin
      a1:=a;
      Pered(a,k);
      writeln('Вставка столбца перед ',k);
      Vyvod(a);
     end;
    end;
'2':begin
    Vvod(a);
    Poisk1(a,k,f);
    if f=0 then write('Столбца с положительными элементами нет!')
    else
     begin
      Posle(a,k);
      writeln('Вставка столбца после ',k);
      Vyvod(a);
     end;
    end;
'3':begin
    Vvod(a);
    PoiskP(a,k,f);
    if f=0 then write('Столбца с положительными элементами нет!')
    else
     begin
      Pered(a,k);
      writeln('Вставка столбца перед ',k);
      Vyvod(a);
     end;
    end;
'4':begin
    Vvod(a);
    PoiskP(a,k,f);
    if f=0 then write('Столбца с положительными элементами нет!')
    else
     begin
      Posle(a,k);
      writeln('Вставка столбца после ',k);
      Vyvod(a);
     end;
    end;
else exit;
end;
until not (w in ['1'..'4']);
readln
end.
2
C.J.
1 / 1 / 1
Регистрация: 19.11.2009
Сообщений: 42
18.02.2010, 22:34  [ТС] 5
Спасибо вам большое, очень благодарен.
1
Alex_Rider
2 / 2 / 0
Регистрация: 20.11.2009
Сообщений: 51
20.02.2010, 03:43 6
У меня точно такаяже прога просто надо не перед положительны столбцом, а перед числом "K"........
Подскажите как можно написать....................
0
Puporev
Модератор
54686 / 42104 / 29072
Регистрация: 18.05.2008
Сообщений: 99,357
20.02.2010, 06:50 7
да точно также, еще проще, не нужно искать столбец.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure Pered(var mt:matr;k:byte);//вставка столбца перед
var i,j:byte;
begin
for i:=1 to n do
for j:=m+1 downto k+1 do
mt[i,j]:=mt[i,j-1];
for i:=1 to n do
mt[i,k]:=1;
end;
var a:matr;
     n,m,k:byte;
................................
repeat
write('Введите номер столбца от 1 до ',m,' k=');//n количество столбцов
readln(k);
until k in [1..m];
Pered(a,k);
...........................
1
20.02.2010, 06:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2010, 06:50

Поменяйте в матрице местами 3-й столбец и столбец, в котором находится первый максимальный элемент
Дан двумерный массив. Поменяйте местами 3-й столбец и столбец, в котором...

В матрице поменять местами первый столбец и столбец, содержащий минимальное количество нечетных элементов
1) дана матрица размера m*n поменять местами столбцы 1 и столбец, содержащий...

В матрице найти наибольший квадрат состоящий из единиц
Задание: В матрице найти наибольший квадрат состоящий из едениц. Сама матрица...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru