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

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

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

> разбиение на слова + массивы, Массивы + строки
HeX
сообщение 20.11.2005 22:36
Сообщение #1


Новичок
*

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

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


SoS

1.Дана строка символов. Группу символов, разделенных с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.
Присвоить переменной F = 1, если слово с наибольшим количеством символов находится в первой половине строки, F= 2 – во второй половине, F= 0 – часть слово в первой, а часть во второй. Предполагается, что слово с наибольшей длиной единственное.

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


--------------------
...Купи слона, ну и что что все говорят продай слона...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 20.11.2005 23:12
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Цитата
2.Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содер-жащих хотя бы один нулевой элемент.
Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик.

const
size_row = 10; { число строк }
size_col = 10; { число столбцов }

type
tvector = array[1 .. size_col] of integer;
tmatrix = array[1 .. size_row] of tvector;

var
mx: tmatrix;
n,m, i, j: integer; s:integer;


procedure swap_rows(var mx: tmatrix;
const i, j: integer);
var T: tvector;
begin
T := mx[i]; mx[i] := mx[j]; mx[j] := T
end;

procedure print(var mx: tmatrix);
var i, j: integer;
begin
for i := 1 to n do
begin
for j := 1 to m do
write(mx[i][j]:4);
writeln
end;
end;

function har(mx:tmatrix; i:integer):integer;
var j: integer; s:integer;
begin
s:=0;
for j := 1 to m do begin
if (mx[i,j]<0) and (not (odd(mx[i][j]))) then inc(s,mx[i,j]);
end;
har:=s;
end;



begin
s:=0;
writeln('enter n,m ... ');
readln(n,m);
{ Заполнение матрицы }
for i := 1 to n do
for j := 1 to m do begin
write('a[',i,',',j,']=');
readln(mx[i][j])
end;
{Определить номер первого из столбцов, содер-жащих хотя бы один нулевой элемент.}
for i:=1 to n do begin
for j:=1 to m do begin
if (mx[i,j]=0) and (s=0) then s:=j;
end
end;
if s<>0 then writeln('s=',s) else writeln('Not Found!');


{ Матрица до обмена }
writeln('before:'); print(mx);
writeln('------------------------------------');
for i:=1 to n-1 do
for j:=i+1 to n do if har(mx,i)<har(mx,j) then swap_rows(mx, i, j);
{ Матрица после обмена }
writeln('after:'); print(mx);
readln;
end.


тестировал на
n=4
m=4

Цитата
s=3
before:
  1  -2  -3  -2
  1  -1  -4  -7
  2  3  0  3
  -1  5  -1  3
------------------------------------
after:
  2  3  0  3
  -1  5  -1  3
  1  -2  -3  -2
  1  -1  -4  -7


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
HeX   разбиение на слова + массивы   20.11.2005 22:36
Altair   вот Type TElem = string; TList = ^TNode; TN...   20.11.2005 22:57
Altair   const size_row = 10; { число строк } size_col =...   20.11.2005 23:12
HeX   Спасибо большое но не могли бы сделать первую зада...   21.11.2005 20:03
Altair   Можно. щас переделаем.   21.11.2005 20:09
Altair   вот преобразование с минимальными изменениями Typ...   21.11.2005 20:20
HeX   Я просто вас обожаю!!! Я люблю весь ми...   21.11.2005 20:25
Altair   :wub: мы тоже всех любим :wub:   21.11.2005 20:27
volvo   HeX, ты уверен, что эта процедура будет выполнятьс...   21.11.2005 21:14
Altair   ну так обнуление массива слов надо бы сделать да и...   21.11.2005 21:18
volvo   Да не только. Тут еще одна засада: const i:intege...   21.11.2005 21:21
HeX   Да вроде все работает не барахлит но если можно ус...   21.11.2005 21:22
Altair   volvo, там же в коде: i:=1;   21.11.2005 21:48
volvo   :blink: А тогда на что тебе Typed Const вообще? Я ...   21.11.2005 21:59
Altair   ТИпизированная константа и есть переменная! ...   21.11.2005 22:25
HeX   Дак есть ошибка или ето миф :blink:   22.11.2005 17:48
volvo   HeX Ты на мой вопрос ответил? Нет. Почему же ты д...   22.11.2005 17:58


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

 



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