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

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

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

> Обработка массива, (используя процедуры и функции)
rov4
сообщение 28.12.2004 13:19
Сообщение #1


Новичок
*

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

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


Привет, всем!
Помогите, пожалуйста, решить задачу: Дан определённый вид массива:
1 строка: 4,0,3,0;
2 строка: 0,3,0,2;
3 строка: 2,0,1,0;
4 строка: 0,1,0,4.
(Массив дан для N = 4.)
Задание: напечатать полученный массив. Найти суммы чисел в первом и последнем столбцах и сравнить их. Вывести результаты на печать с соответствующим сообшением. Задание оформить в виде процедур (функций).
Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
volvo
сообщение 28.12.2004 13:35
Сообщение #2


Гость






rov4
В решении нужно только подсчитать или создать матрицу тоже? Если создать, то не совсем понятно, как получать матрицу (скажем, при N=5)
 К началу страницы 
+ Ответить 
murphy
сообщение 28.12.2004 20:46
Сообщение #3


Пионер
**

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

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


чето такое
Код

program hhj;
const n=4;
type vect = array[1..n] of byte;
      matr array[1..n] of vect;
var A: matr
 procedure prnt( B:matr, m:byte);
     var
         i, j : byte;
     begin
        for i:= 1 to m do
          begin
           writeln;
           for j:= 1 to m do
               write(B[j][i]);
           end;
    end;
  function sum(x:vect, m:byte);
     var i, s: integer;
       begin
         s:=0;
         for i:=1 to m do
          s:=s+x[i];
        sum:=s;
       end;
  procedure rez(x, y:integer);
       begin
         if x>y then
             writeln (x , ' больше ')
         else  
              if x=y then ('они равны')
                    else
                        writeln(y , 'больше')ж
        end;
 begin
     for i:= 1 to n do
        for j := 1 to n do
           read(a[j][i]);
     prnt(a,n);  
     rez(sum(a[1],n), sum(a[n],n));
 end;


надо бы откомпелировать и проверить (мог запутаться в индексах) но если включу паскаль может интернет вылететь sad.gif


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 28.12.2004 21:42
Сообщение #4


Perl. Just code it!
******

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

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


Цитата(murphy @ 28.12.04 20:46)
если включу паскаль может интернет вылететь  sad.gif

Это как ?? blink.gif :D


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.12.2004 21:58
Сообщение #5


Гость






murphy
1. Постарайся все-таки проверять программы, которые выкладываются на форум.
2. В программе не описаны некоторые переменные.
3. Обрати внимание на заголовки процедур/функций
4. Функции всегда возвращают значения :D

Код

const n=4;
type
 vect = array[1..n] of byte;
 matr array[1..n] of vect;
var A: matr;

procedure prnt( B:matr; m:byte);
 var i, j : byte;
 begin
   for i:= 1 to m do
     begin
       writeln;
       for j:= 1 to m do
         write(B[j][i]);
     end;
 end;
function sum(x:vect; m:byte): integer;
 var i, s: integer;
 begin
   s:=0;
   for i:=1 to m do
     s:=s+x[i];
   sum:=s;
 end;
procedure rez(x, y:integer);
 begin
   if x>y then
     writeln (x , ' больше ')
   else  
     if x=y then ('они равны')
       else writeln(y , 'больше')
 end;

var i, j: integer;
begin
 for i:= 1 to n do
   for j := 1 to n do
     read(a[j][i]);
 prnt(a,n);  
 rez(sum(a[1],n), sum(a[n],n));
end.
 К началу страницы 
+ Ответить 
murphy
сообщение 28.12.2004 22:41
Сообщение #6


Пионер
**

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

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


Цитата
Это как ??

запускаю дос программы может порвать коннект (чаще всего так и бывает)


Цитата
Постарайся все-таки проверять программы

:p2: буду (поставлю паскаль под винду) :p2:


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
rov4
сообщение 29.12.2004 8:23
Сообщение #7


Новичок
*

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

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


volvo
Только подсчитать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
rov4
сообщение 29.12.2004 8:35
Сообщение #8


Новичок
*

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

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


murphy,
Огромное спасибо, ты меня спас! :D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
murphy
сообщение 29.12.2004 20:10
Сообщение #9


Пионер
**

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

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


rov4
Нема за що :D


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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