IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двухмерный символьный массив. Вывод различающихся столбцов.
Sum42
сообщение 18.10.2010 20:45
Сообщение #1


голодный(
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  0  +


Здравствуйте, помогите пожалуйста с программой.
----------------------------------------------------------------
Задача:
Напечатать последовательно все различающиеся между собой столбцы символьной матрицы.
Мое решение:

program simv_massive;
uses crt;
const str=30;
stp=40;
type MyArr=array[1..str,1..stp] of char;
MyArrSp=array[1..str] of char;
var mas:MyArr;
x:MyArrSp;
i,j,k,n,m:byte;
num:integer;

procedure Matr_In(var mas1:MyArr; n1,m1:byte);
var
i,j:byte;
begin
for i:=1 to n1 do
begin
for j:=1 to m1 do
read(mas1[i,j]);
readln;
end;
end;

procedure Matr_Out(var mas2:MyArr; n2,m2:byte);
var
i,j:byte;
begin
for i:=1 to n2 do
begin
for j:=1 to m2 do
write(mas2[i,j]:5);
writeln;
end;
end;

begin
clrscr;
Write('Введите количество строк:');
Readln(n);
Write('Введите количество столбцов:');
Readln(m);
Writeln('Заполните массив');
Matr_In(mas,n,m);
Writeln('Вы ввели массив');
Matr_Out(mas,n,m);

for j:=1 to m do
begin
num:=0;
for i:=1 to n do
if mas[i,j]=x[i] then
num:=num+1;

if num<>n then
for i:=1 to n do
writeln(mas[i,j]);

for i:=1 to n do
x[i]:=mas[i,j];
end;
writeln;
readkey
end.


Начну сначала, подскажите вывести столбцы последовательно это так
Цитата
2 5 5
2 5 6
2 5 8

или можно и так
Цитата
2
2
2

5
5
5
...

моя программа естественно выводит во втором варианте...
-------------------------------------
дальше, у меня она не выводит одинаковые столбцы если только одинаковые столбцы идут друг за другом, подскажите пожалуйста как сделать чтобы работала полноценно.
буду очень благодарен smile.gif
-------------------------------------
приветствуется критика по поводу процедур ввода вывода массива
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Sum42   Двухмерный символьный массив. Вывод различающихся столбцов.   18.10.2010 20:45
Client   надо проверить элементы столбца с элементами всех ...   18.10.2010 20:54
Client   uses crt; const str=10; stp=10; type M...   18.10.2010 21:55
Sum42   Client Большое спасибо за помощь, сейчас постараю...   19.10.2010 19:33
Lapp   Я тип множества еще не знаю, сейчас буду "узн...   20.10.2010 3:26
мисс_граффити   - не надо подавать новичкам дурной пример постоян...   20.10.2010 8:22
Lapp   имхо, он засунут ради очистки экрана.... что само ...   20.10.2010 10:08
Client   а мне надо чуть меньше действий :) if flag then ...   20.10.2010 8:58
Sum42   Lapp Большое спасибо за помощь, сейчас буду разбир...   20.10.2010 19:31
Sum42   Lapp Разбираю ваш код Вроде где-то не совсем прав...   20.10.2010 20:22
Lapp   в первой строчке fi] а не fj]?Да, конечно )). Изв...   20.10.2010 23:02
Client   for i:=1 to m do if f i ] thenпопробуй так   20.10.2010 21:55
Sum42   RE: Двухмерный символьный массив. Вывод различающихся столбцов.   21.10.2010 18:49
Lapp   ну я вроде ответил вышеА, понятно, извини. Потеря...   21.10.2010 23:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 14:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"