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

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

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

 
 Ответить  Открыть новую тему 
> Массив записей, не понимаю чо хотят
сообщение
Сообщение #1


Новичок
*

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

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


Условие
пусть даны 2 массива М1 и М2. М1 - инвентарный массив(сколько изделий, каких видов хранятся на складе). Вид продукции задаётся её порядковым номером. М2 - вспомогательный массив(на сколько уменьшилось или увеличилось количество изделий по некоторым видам продукции). Вспомогательный массив может содержать несколько сведений по продукции одного вида или не содержать такого сообщения. Обновить инвентарный массив на основе вспомогательного.
1. не пойму как это должно выглядеть
type vid=record
izdelie1:integer;
izdelie2:integer;
izdelie3:integer;
end;
var produkcia:array[1..10] of vid;

??? чото я не догоняю
2. "Вспомогательный массив может содержать несколько сведений по продукции одного вида"
как это сделать?
последняя лаба)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

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

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


Было бы неплохо увидеть оригинальный текст задания, но я понял его так:
Первый массив хранит сколько товаров какого вида хранится на складе. Второй массив хранит сколько товара какого вида прибыло (убыло) на склад. Пояснительный код:
type
TItem = record
Article: Integer; { Тип изделия }
Count: Integer; { Колличество или изменение колличества }
end;

var
Depository: array[1..n] of TItem; { Склад }
Update: array[1..m] of TItem; { Изменения на складе }
Нужно основываясь на информации второго массива обновить первый.

Сообщение отредактировано: Archon -


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


текст задания оригиналный - преподаватель дала списать из учебника.
за разъяснения спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


косолапо получилось
const
n=2;
m=3;
type
Item = record
tip:integer;
kolvo:integer;
end;
var
i,j:integer;
sklad:array[1..n] of item;
upd:array[1..m] of Item;
begin
writeln('sklad',' ',n,' tip - kolvo');
for i:=1 to n do readln(sklad[i].tip,sklad[i].kolvo);
for i:=1 to n do writeln('ITEM',sklad[i].tip,' - ',sklad[i].kolvo);
writeln('update',' ',m,' tip - kolvo');
for i:=1 to m do readln(upd[i].tip,upd[i].kolvo);
for i:=1 to m do writeln('ITEM',upd[i].tip,' - ',upd[i].kolvo);

for i:=1 to n do
for j:=1 to m do if upd[j].tip=sklad[i].tip then sklad[i].kolvo:=sklad[i].kolvo+upd[j].kolvo;

writeln('updated sklad');
for i:=1 to n do writeln('ITEM',sklad[i].tip,' - ',sklad[i].kolvo);
readln;
end.

подскажите как упростить/чо неправильно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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



айа скажите чонить а то я спать не лягу

Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

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

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


1. Расставить отступы. Программа сразу станет проще для восприятия.
2. Сделать диалог с пользователем чуть более осмысленным. Первая строчка, которую выводит программа это "sklad 2 tip - kolvo". Довольно сложно понять, что имеется ввиду.
3. "writeln('sklad',' ',n,' tip - kolvo');" - зачем пробел в отдельный параметр отделять?

PS Упрощать особо нечего


--------------------
Close the World...txeN eht nepO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


ееее
мои благодарности
пойду спать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


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

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

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


Цитата(Ученик @ 13.01.2009 23:30) *
подскажите как упростить/чо неправильно

Есть одно замечание, но оно спорное..
Что, если в массиве Upd встретился новый товар, который еще не присутствует в массиве Sklad? По логике вещей, нужно добавить его в массив.
Если с этим согласиться, то массив Sklad не должен ьыть заполнен до отказа, а число n должно означать, сколько элементов в нем реально используется.

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

Добавлено через 4 мин.
Еще, будет удобно использвать оператор with:
for i:=1 to n do with Sklad[i] do
for j:=1 to m do if upd[j].tip=tip then kolvo:=kolvo+upd[j].kolvo;



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

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

 





- Текстовая версия 17.04.2024 3:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name