Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 07.01.2017, 00:40   #1 (permalink)
Владлена
Новичок
 
Регистрация: 18.12.2016
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Построить в ответе матрицу. Паскаль

program qqsam2;
uses Crt;
const nmax = 9;
type pribor = record
name : string;
number : integer;
w_gold : real;
w_silv : real;
cost : real;
count : integer;
end;
var
p : array [1..nmax] of pribor;
i, n : byte;
CostAll, w_name : real;
enter_name : string;
begin
ClrScr;
Repeat
Writeln('Количество приборов (не более ', nmax, '): ');
Readln(n);
until n in [1..nmax];
Writeln('Введите данные о приборах: ');
for i := 1 to n do
begin
Write('Наименование прибора № ', i, ': '); Readln(p[i].name);
Write('Вес золота в приборе № ', i, ': '); Readln(p[i].w_gold);
Write('Вес серебра в приборе № ', i, ': '); Readln(p[i].w_silv);
Write('Стоимость прибора № ', i, ': '); Readln(p[i].cost);
Write('Количество приборов № ', i, ': '); Readln(p[i].count);
Writeln('========================================= ==========');
end;
ClrScr;
Write('Введите наименование прибора: '); Readln(enter_name);
CostAll := 0; w_name := 0;
for i := 1 to n do
begin
if p[i].name = enter_name then w_name := w_name + p[i].count * (p[i].w_gold + p[i].w_silv);
CostAll := CostAll + p[i].count * p[i].cost;
end;
Writeln('Общий вес драгоценных металлов в приборе ', enter_name, ' = ', w_name);
Writeln('Общая стоимость приборов: ', CostAll);
end.


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

Старый 07.01.2017, 00:40
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Я уверен, что это займет немного времени, посмотрите

Паскаль. Получить квадратную матрицу порядка N
пожалуйста умные форумчяни ответе на кое какие вопросы по сборке пк
Помогите пожалуйста с задачей на одномерные массивы и матрицу. Паскаль
Мозилла в форумах при ответе вставляет рекламные ссылки

Старый 07.01.2017, 09:44   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 23,758
Сказал(а) спасибо: 125
Поблагодарили 272 раз(а) в 91 сообщениях
Репутация: 60323
По умолчанию

Цитата:
Сообщение от Владлена Посмотреть сообщение
Вот задача, но ответ нужен матрицей, не могу понять как его так вывести
Во-первых, с праздниками! Во-вторых, перестаньте шлёпать дубликаты задачи в разных темах: у нас это не приветствуется, а точнее, запрещено. И в третьих, выложите задание так, как оно сформулировано - подумаем.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Старый 07.01.2017, 20:47   #3 (permalink)
Владлена
Новичок
 
Регистрация: 18.12.2016
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Задан массив (размерность 9) записей следующей структуры:
- Наименование прибора
- Номер прибора
- Вес золота в приборе (ВЗ)
- Вес серебра в приборе (ВС)
- Стоимость прибора (С)
- Колличество приборов данного вида (КП)

Определить общий вес драгооценных металлов в приборах данного наименования К*(ВЗ+ВП).
Определить общую стоимость приборов в лаборатории.

И вас с праздниками!
Владлена вне форума   Ответить с цитированием
Старый 07.01.2017, 20:47   #4 (permalink)
Владлена
Новичок
 
Регистрация: 18.12.2016
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

в той теме никто не отвечал, пришлось новую завести
Владлена вне форума   Ответить с цитированием
Старый 07.01.2017, 22:13   #5 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 23,758
Сказал(а) спасибо: 125
Поблагодарили 272 раз(а) в 91 сообщениях
Репутация: 60323
По умолчанию

М-да... Какая-такая "матрица" видится Вашему преподавателю - ума не приложу... Может быть, имеется в виду представить введённые данные в виде таблицы? Нет? Или, может быть, нужно сделать вариант программы, где вместо записей использовать двумерный массив? Или... в общем, плоховато у меня с телепатией.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 07.01.2017, 22:45   #6 (permalink)
Владлена
Новичок
 
Регистрация: 18.12.2016
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ответ в виде таблицы
Владлена вне форума   Ответить с цитированием
Старый 08.01.2017, 11:18   #7 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 23,758
Сказал(а) спасибо: 125
Поблагодарили 272 раз(а) в 91 сообщениях
Репутация: 60323
По умолчанию

Ну, например, так:
Код:
program qqsam2;
uses Crt;

Const
 nmax = 9;

Type
 pribor = record
           name : string;
           number : integer;
           w_gold : real;
           w_silv : real;
           price : real;
           count : integer;
         end;

Var
 p:array [1..nmax] of pribor;
 i,j,n:byte;
 CostAll: real;

Begin
 ClrScr;
 Repeat
  Write('Количество приборов (не более ', nmax, '): ');
  Readln(n);
 Until n in [1..nmax];
 Writeln('Введите данные о приборах: ');
 for i:=1 to n do
  with p[i] do
   begin
    Write('Наименование прибора  N ', i, ': '); Readln(name);
    Write('Вес золота в приборе  N ', i, ': '); Readln(w_gold);
    Write('Вес серебра в приборе N ', i, ': '); Readln(w_silv);
    Write('Цена прибора          N ', i, ': '); Readln(price);
    Write('Количество приборов   N ', i, ': '); Readln(count);
    Writeln('====================================================');
   end;
 ClrScr;

 Writeln('   Наименование     Золото    Серебро      Цена   Количество  Au+Ag');
 CostAll:=0;
 for i:=1 to n do
  with p[i] do
   begin
    Write(name);
    for j:=Length(name)+1 to 18 do write(' ');
    write(w_gold:10:3);
    write(w_silv:10:3);
    write(price:10:2);
    write(count:10);
    writeln((w_gold+w_silv)*count:10:3);
    CostAll:=CostAll+price*count;
   end;

 Writeln('=========================================================');
 Writeln('Общая стоимость приборов: ', CostAll:0:2);
 Readln
end.
Миниатюры
rec_ca01.jpg  
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 11:05.


Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.