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
сообщение 21.10.2010 18:49
Сообщение #2


голодный(
*

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

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


Цитата(Lapp)
sum42, а как насчет уточнения условия? Вопрос пропущен мимо ушей? Смотри, твои следующие могут пойти тем же путем, диалог есть диалог..

ну я вроде ответил выше
Цитата
один раз выводит надо, последующие копии (если будут) нет...


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 21.10.2010 23:55
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Sum42 @ 21.10.2010 19:49) *
ну я вроде ответил выше
А, понятно, извини. Потерянный Ь сработал - фразу я у не понял с первого прочтения, вот и результат.. На русский все же тоже надо обращать внимание. Не надо заставлять собеседников гадать по контексту, что ты хотел сказать.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  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 18:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"