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

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

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

> Обработка массива.
Eduard
сообщение 6.05.2011 5:14
Сообщение #1


Новичок
*

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

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


Надо расставить строки таким образом, чтобы элементы в первом столбце были упорядочены по убыванию. Вычислить среднее арифметическое элементов 1-ого столбца.

Не работает программа, подскажите, что неправильно.

uses crt;
var a:array[1..100,1..100]of integer;
N, M, i, j, e :integer;
begin
write('N, M -> ');
readln(N, M);
write('Input matrix -> ');
for i:=1 to N do for j:=1 to M do
begin
write('A[',i,',',j,'] -> ');
readln(a[i, j]);
for i:=1 to n do
for j:=1 to n-1 do
begin
if a[j]<a[j+1] then
begin
e:=a[j];
a[j]:=a[j+1];
a[j]:=e;
end;
end;
writeln (a[i,j]);
end;
end.


Вычисление среднего арифметического, я не знаю куда поставить.

Еще есть вариант решения задачи, но он не совсем правильно работает и вычисление среднего арифметического, я не знаю куда поставить.

Const t=100; 
Var a: array[1..t,1..t] of integer;
B: array[1..t,1..2] of integer;
N, k, I, j: integer;
Begin
Writeln(‘n=’);
Readln(n);
For i:=1 to n do
For j:=1 to n do read(a[I,j]);
For i:=1 to n do
B[i,1]:=a[i,1];
For i:=1 to n-1 do
For j:=1 to n do
If b[i,1]<b[j,1] then
Begin
k:=b[i,1];
b[i,1]:=b[j,1];
b[j,1]:=k;
End;
For i:=1 to n do
Begin
If a[i,1]<>b[i,1] then
Begin
For j:=1 to n do
If a[j,1]=b[i,1] then b[i,2]:=j;
End
Else b[i,2]:=i;
End;
For i:=1 to n do
Begin
K:=b[i,2];
For j:=1 to n do write(a[k,j]:4);
Writeln;
End;
End.


Сообщение отредактировано: Eduard - 6.05.2011 5:20
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 6.05.2011 8:03
Сообщение #2


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

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

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


Цитата(Eduard @ 6.05.2011 6:14) *

Надо расставить строки таким образом, чтобы элементы в первом столбце были упорядочены по убыванию. Вычислить среднее арифметическое элементов 1-ого столбца.

Не работает программа, подскажите, что неправильно.

uses crt;
var a:array[1..100,1..100]of integer;
N, M, i, j, e :integer;
begin
write('N, M -> ');
readln(N, M);
write('Input matrix -> ');
for i:=1 to N do for j:=1 to M do
begin
write('A[',i,',',j,'] -> ');
readln(a[i, j]);
for i:=1 to n do
for j:=1 to n-1 do
begin
if a[j]<a[j+1] then
begin
e:=a[j];
a[j]:=a[j+1];
a[j]:=e;
end;
end;
writeln (a[i,j]);
end;
end.


Вычисление среднего арифметического, я не знаю куда поставить.

Еще есть вариант решения задачи, но он не совсем правильно работает и вычисление среднего арифметического, я не знаю куда поставить.

Const t=100; 
Var a: array[1..t,1..t] of integer;
B: array[1..t,1..2] of integer;
N, k, I, j: integer;
Begin
Writeln(‘n=’);
Readln(n);
For i:=1 to n do
For j:=1 to n do read(a[I,j]);
For i:=1 to n do
B[i,1]:=a[i,1];
For i:=1 to n-1 do
For j:=1 to n do
If b[i,1]<b[j,1] then
Begin
k:=b[i,1];
b[i,1]:=b[j,1];
b[j,1]:=k;
End;
For i:=1 to n do
Begin
If a[i,1]<>b[i,1] then
Begin
For j:=1 to n do
If a[j,1]=b[i,1] then b[i,2]:=j;
End
Else b[i,2]:=i;
End;
For i:=1 to n do
Begin
K:=b[i,2];
For j:=1 to n do write(a[k,j]:4);
Writeln;
End;
End.


У тебя вложенные циклы используют одну переменную. Как это может правильно работать? ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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