Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Матрица , строки 
:(
    Опции темы
jorjinho10
Дата 18.5.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 31.3.2009
Где: Saint-Petersburg

Репутация: нет
Всего: нет



Вычислить суммы элементов строк матрицы В (m x n) , номера которых задаются целочисленным вектором
сделать нужно через процедуры и функции , но Без глобальных переменных

ниже приведен вариант с глобальными переменными , как от него уйти ?

Код

uses crt;
const
m=3;{размеры матрицы по условию}
n=4;
type
mas=array[1..50] of integer;{целочисленный вектор}
str=array[1..n] of integer;{массивы-строки матрицы}
matr=array[1..m] of str;{матрица-массив строк}
procedure VvodMatr(var mt:matr);
var i,j:integer;
begin
writeln('Введите ',m*n,' элементов матрицы:');
for i:=1 to m do
for j:=1 to n do
 begin
  write('el[',i,',',j,']=');
  readln(mt[i,j]);
 end;
end;
procedure VyvodMatr(var mt:matr);
var i,j:integer;
begin
writeln('Матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(mt[i,j]:3,' ');
  writeln;
 end;
end;
procedure VvodMas(var ms:mas;var x:integer);
var i:integer;
begin
write('Размер массива x=');
readln(x);
writeln('Введите ',x,' элементов массива:');
for i:=1 to x do
 begin
  write('el[',i,']=');
  readln(ms[i]);
 end;
end;
procedure VyvodMas(var ms:mas;x:integer);
var i:integer;
begin
writeln('Массив:');
for i:=1 to x do
write(ms[i],' ');
writeln;
end;
function Summ(s:str):integer;
var i,sm:integer;
begin
sm:=0;
for i:=1 to n do
sm:=sm+s[i];{считаем сумму в массиве-строке матрицы}
Summ:=sm;
end;
procedure SummStr(mt:matr;ms:mas;x:integer;var sm:integer);
var i,j:integer;
begin
for i:=1 to m do
for j:=1 to x do
if i=ms[j] then{если номер строки есть в векторе}
 begin
  writeln('Сумма в строке ',i,'=',Summ(mt[i]));{считаем и выводим сумму}
  break;{дальше не ищем, чтоб не было повторов}
 end;
end;
var a:matr;
    v:mas;
    k,sm:integer;
begin
clrscr;
VvodMatr(a);
VvodMas(v,k);
clrscr;
VyvodMatr(a);
VyvodMas(v,k);
SummStr(a,v,k,sm);
readln
end.



         
PM MAIL ICQ Skype   Вверх
volvo877
Дата 19.5.2009, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(jorjinho10 @  18.5.2009,  18:10 Найти цитируемый пост)
ниже приведен вариант с глобальными переменными
Да блин... ГДЕ ты видишь здесь глобальные переменные-то??? Что, издеваешься? Все темы об одном и том же.
PM MAIL   Вверх
jorjinho10
Дата 19.5.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 31.3.2009
Где: Saint-Petersburg

Репутация: нет
Всего: нет



Цитата(volvo877 @ 19.5.2009,  09:45)
Цитата(jorjinho10 @  18.5.2009,  18:10 Найти цитируемый пост)
ниже приведен вариант с глобальными переменными
Да блин... ГДЕ ты видишь здесь глобальные переменные-то??? Что, издеваешься? Все темы об одном и том же.

Поидее и я их не вижу...Но препод сказал что у меня не правильно , что надо без глобальных переменнных...
PM MAIL ICQ Skype   Вверх
volvo877
Дата 19.5.2009, 19:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Ну, значит, спроси у него, где ОН видит глобальные переменные, от которых надо избавиться. И заодно напомни ему, что описание типа - это не описание переменной ни разу, и константы здесь тоже ни при чем...

А завалить он тебя всегда завалит, что бы ты не сделал... Хоть вообще без переменных сделай. Это так, чтоб не удивлялся потом...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.