Короче пишу такую х*йню, потому что меня за*бал DJ Runet. Я ему написал лабу, а он п*здит что она не правильная. Короче дан двумерный массив. Надо найти сумму элементов тех строк в которых есть отрицательные элементы. Оформить в виде функции. Вот код программы с коментариями. А теперь DJ Runet скажи что там тебе бабуля говорила...
цитата:
program lab05;
uses crt;
const m=7;n=5; <- Задаем размеры матрицы m - число столбцов n - строк
type matrix = array[1..m,1..n] of integer; <- создаем тип "Матрица" var A: matrix;
i,j:integer;
f: text;
Function summa(M: matrix; cols,rows: integer): integer; <- Функция суммы.
В скобках задаем параметры передаваемые подпрограмме
M - матрицаь, cols и rows - размеры матрицы
var i,j,sum,x: integer; <- переменные подпрограммы.
begin
sum:=0;
for j:=1 to rows do begin <- проходимся по строкам
for i:=1 to cols do <- проходимся по элементам строки
if M[i,j] < 0 then begin <- если элемент меньше нуля то:
for x:= 1 to cols do inc(sum,M[x,j]); <- складываем все элементы
i:= cols
end;
end;
summa:=sum; <- передача суммы всех строк значению функции
end;
BEGIN
clrscr;
Randomize;
assign(f,'results.txt');
rewrite(f);
writeln(f,' Исходная матрица');
далее мы присваеваем каждому элементу матрицы A случайное число и выводим в файл for j:= 1 to n do begin
for i:= 1 to m do begin
A[i,j]:=random(14)-4;
write(f,A[i,j]:3);
end;
writeln(f);
end;
Сделали writeln(f);
write(f,'Сумма элементов строк в которых есть ');
write(f,'отрицательные элементы равна ',summa(A,m,n),'.');
в строке над этой мы использовали такую штуку: summa(A,m,n)
Где A - матрица, m и n - размеры матрицы.
Эти значения передаются функции summa, которая возвращает сумму
элементов строк в которых есть отрицательные элементы. close(f);
END.
Сумма элементов строк в которых есть отрицательные элементы равна 77.
__________________ Серьёзное лицо это ещё не признак ума, все глупости на Земле совершаются именно с этим выражением лица... Улыбайтесь, господа, улыбайтесь! ...
(из к/ф "Тот самый Мюнхгаузен". сценарий Г. Горина)
Сообщение отредактировано 1 раз(а), редактировал Imm , 07.01.2004 в 10:07.
07.01.2004 10:07
DJ RUnet
Барон Килобайт I-степени
Группа: Пользователи
Дата регистрации: 05.01.2004
Сообщения: 257
Кто?: Студент, группа 2222
она сказала что ты i c j перепутал т.е. считал не считал не строк а столбцы
Я такого не заметил.. впаривать надо уметь, дружок
у меня подозрение, что ты не до конца ознакомился с алгоритмом лабы... тетя-препод глюконула, а ты не смог ее на путь истинный наставить...
теперь о косяках
цитата:
i:= cols
так цикл не завершают..
Хороший препод за такое задницу надерет (хоть это и работает)
надо писать, например break..
цитата:
и чтоб не во всех строках должны быть отрицательные числа
Верное замечание...
__________________ Xριστος ανεστη εκ νεκρων
Θανατω θανατον πατησας.
Και τοις εν τοις μνημασι
Ζωην χαρισαμενος.
08.01.2004 00:49
DJ RUnet
Барон Килобайт I-степени
Группа: Пользователи
Дата регистрации: 05.01.2004
Сообщения: 257
Кто?: Студент, группа 2222
я то в паскале не рублю них поэтому на её восклицания У ТЯ НЕПРАВИЛЬНО я ни чё не могу сказать как толко согласиться и сказать "ладно, я дома посмотрю шо неправильно - исправлю и потом принесу"
вот так!
__________________ Уходя - гасите всех.
08.01.2004 00:57
Stan F
Его Величество Администратор
Группа: Администраторы
Дата регистрации: 14.11.2003
Сообщения: 5148
Кто?: ФЮРЕР
Можно в принципе и не про дома говорить, а щас разберемся и отходить
а потом с программированием преподы сами часто туго догоняют, давно подмечено. Приходилось иной раз с пеной у рта доказывать, особенно если препод этого в жизни не видел
__________________
Последний рассвет
Тонкая нить и
Холодная сталь
Поможет забыть мне
Сотрёт глубину
Исчезнет печаль
Прольётся внутри
Моя мёртвая кровь
Развеет твой крик
08.01.2004 01:21
Imm
Легендарный студент ИТМО
Группа: VIP-Пользователи
Дата регистрации: 22.12.2003
Сообщения: 2030
Кто?: Студент СПбГУ (физфак)
fastkill, по поводу break согласен. Что-то я сглюканул. 2Runet
Возьми подправь числа сам какие хочешь, только от -4 до 9. И еще скажи бабуле чтоб она шла нах... Я ей все свои лабы сдал с таким же методом задавания элементов массива. Дура она короче...
__________________ Серьёзное лицо это ещё не признак ума, все глупости на Земле совершаются именно с этим выражением лица... Улыбайтесь, господа, улыбайтесь! ...
(из к/ф "Тот самый Мюнхгаузен". сценарий Г. Горина)
08.01.2004 07:02
keepout
Сэр Байт II-степени
Группа: Пользователи
Дата регистрации: 07.01.2004
Сообщения: 56
Кто?: Студент, группа 3101
Конечно, когда тестишь прогу вводить матрицы типа 5х5 впадлу -для этого можно использовать Random. Но когда сдаешь, не поленись, введи руками ( Преподы это ОЧЕНЬ любят)
__________________ В правде нет страха...
Правда и страх несовместимы...
Д. С. Лихачёв
08.01.2004 14:25
DJ RUnet
Барон Килобайт I-степени
Группа: Пользователи
Дата регистрации: 05.01.2004
Сообщения: 257
Кто?: Студент, группа 2222
Immoralis пишет
fastkill, по поводу break согласен. Что-то я сглюканул. 2Runet
Возьми подправь числа сам какие хочешь, только от -4 до 9. И еще скажи бабуле чтоб она шла нах... Я ей все свои лабы сдал с таким же методом задавания элементов массива. Дура она короче...
ну тогда поправь мне и пришли на мыло
с уже введенными числами и с нориально завершённым циклом!
__________________ Уходя - гасите всех.
09.01.2004 00:58
Imm
Легендарный студент ИТМО
Группа: VIP-Пользователи
Дата регистрации: 22.12.2003
Сообщения: 2030
Кто?: Студент СПбГУ (физфак)
__________________ Серьёзное лицо это ещё не признак ума, все глупости на Земле совершаются именно с этим выражением лица... Улыбайтесь, господа, улыбайтесь! ...
(из к/ф "Тот самый Мюнхгаузен". сценарий Г. Горина)