|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2007, 15:56 | #1 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
Удаление строк массива по условию
Пересмотрел кучу примеров (как удалить строки), но не могу сделать, чтобы вычеркивались строки, в которых более трех отрицательных элементов.
Помогите (коротеньким кодом) |
12.09.2007, 16:21 | #2 |
Пользователь
Регистрация: 08.12.2006
Сообщений: 36
|
То бишь, у тебя переменная тип String в которой находятся элементы (числа и символы) и надо удалить идущие три поряд симвла (числа) если они отрицательны?
Знание этого – Мудрость.
Умение этим пользоваться – Искусство. |
12.09.2007, 16:53 | #3 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
У меня- обычная матрица типа integer (ничего особенного).
|
12.09.2007, 18:07 | #4 |
Пользователь
Регистрация: 08.12.2006
Сообщений: 36
|
У вас матрица формата MxN, и надо просмотреть все строки матрицы найти таки, у которых имеются три эл-та (идущих подряд) отрицательных и эти строки убрать из матрицы?
Знание этого – Мудрость.
Умение этим пользоваться – Искусство. |
12.09.2007, 19:39 | #5 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
Да, но содержащая больше трех эл-тов (4,5,6...
|
12.09.2007, 19:55 | #6 |
Пользователь
Регистрация: 03.09.2007
Сообщений: 42
|
А как вообще убираются элементы из массива? Его же не укоротишь налету. Если записать вместо "удалённых" элементов 0 или например MaxInt это тоже не удаление.
|
12.09.2007, 20:03 | #7 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
Методом перестановки строк, убирается массив, вернее: переписывается.
|
12.09.2007, 20:22 | #8 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
Коротенький ответ, на мною заданный вопрос:
Program neo; USES CRT; Var a: array[ 1..20,1..20] of integer; q,w,e,r,t,y:integer; Begin clrscr; WriteLn('Размерность матрицы строки, столбы <=20'); ReadLn(q,w); WriteLn('Введите ',q,' строк по ',w,' элементов'); for r:=1 to q do For t:= 1 to w do Read(a[r,t]); Readln; WriteLn('Исходный массив'); for r:=1 to q do begin for t:=1 to w do Write(a[r,t]:4); WriteLn; end; e:=0; for r:=1 to q do begin y:=0; for t:=1 to w do if a[r,t]<0 then y:=y+1; if y<4 then begin e:=e+1; for t:=1 to w do a[e,t]:=a[r,t]; end; end; if e<>0 then begin WriteLn('Новая матрица '); for r:=1 to e do begin for t:=1 to w do Write(a[r,t]:4); WriteLn; end; end else WriteLn('Здесь был Нео'); readln; end. P. S. О найденных ошибках, просьба сообщать |
12.09.2007, 20:22 | #9 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
Если ни где не ошибся то-
Код:
|
12.09.2007, 20:32 | #10 |
Пользователь
Регистрация: 10.09.2007
Сообщений: 15
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
удаление строк | alexk | Microsoft Office Excel | 24 | 15.02.2011 08:34 |
удаление дубликатов и группировка строк | Serglen | Microsoft Office Excel | 2 | 30.07.2008 15:51 |
Импорт и удаление некоторых строк | Alex2008 | Microsoft Office Excel | 3 | 06.05.2008 18:26 |
Запрет на удаление строк и столбцов | Shavminator | Microsoft Office Excel | 2 | 12.01.2008 13:36 |
Удаление элемента массива | chiffa | Общие вопросы Delphi | 1 | 03.01.2008 19:24 |