• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Построить в ответе матрицу. Паскаль

Владлена

Ученик
Регистрация
18 Дек 2016
Сообщения
7
Реакции
0
Баллы
0
Построить в ответе матрицу. Паскаль

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.name);
Write('Вес золота в приборе № ', i, ': '); Readln(p.w_gold);
Write('Вес серебра в приборе № ', i, ': '); Readln(p.w_silv);
Write('Стоимость прибора № ', i, ': '); Readln(p.cost);
Write('Количество приборов № ', i, ': '); Readln(p.count);
Writeln('========================================= ==========');
end;
ClrScr;
Write('Введите наименование прибора: '); Readln(enter_name);
CostAll := 0; w_name := 0;
for i := 1 to n do
begin
if p.name = enter_name then w_name := w_name + p.count * (p.w_gold + p.w_silv);
CostAll := CostAll + p.count * p.cost;
end;
Writeln('Общий вес драгоценных металлов в приборе ', enter_name, ' = ', w_name);
Writeln('Общая стоимость приборов: ', CostAll);
end.


Вот задача, но ответ нужен матрицей, не могу понять как его так вывести:sigh:
 
Вот задача, но ответ нужен матрицей, не могу понять как его так вывести
Во-первых, с праздниками! Во-вторых, перестаньте шлёпать дубликаты задачи в разных темах: у нас это не приветствуется, а точнее, запрещено. И в третьих, выложите задание так, как оно сформулировано - подумаем.
 
Задан массив (размерность 9) записей следующей структуры:
- Наименование прибора
- Номер прибора
- Вес золота в приборе (ВЗ)
- Вес серебра в приборе (ВС)
- Стоимость прибора (С)
- Колличество приборов данного вида (КП)

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

И вас с праздниками!
 
в той теме никто не отвечал, пришлось новую завести
 
М-да... Какая-такая "матрица" видится Вашему преподавателю - ума не приложу... Может быть, имеется в виду представить введённые данные в виде таблицы? Нет? Или, может быть, нужно сделать вариант программы, где вместо записей использовать двумерный массив? Или... в общем, плоховато у меня с телепатией.
 
Ну, например, так:
Код:
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.webp
    REC_CA01.webp
    24.6 KB · Просмотры: 99
Назад
Сверху