В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

ЗАДАНИЕ 1: Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы.
Опишите класс Sweetmeats ( название,стоимость, срок годности и магазин, в котором имеются эти конфеты). Введите с клавиатуры данные в массив, состоящий из n элементов типа Sweetmeats .Выведите на экран информацию из ассортимента конфет, выпускаемых чебоксарской кондитерской фабрикой, выбрать те, стоимость которых от 130 до 255 руб. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в продаже.списка.
Задание 2: В двумерном массиве хранится информация о зарплате 18 человек за каждый месяц года (в первом столбце — зарплата за январь, во втором — за февраль и т. д.). Составить программу для расчета средней зарплаты за любой месяц
Язык C#

Показать ответ
Ответ:
maksalina2
maksalina2
04.11.2020 02:56
Такой вариант на простом паскале со стратегией жадность

var
    n, s, i: integer;
    x: array[1..100]of integer;
    answer: string;

begin
    readln(n);
    for i := 1 to n do
        read(x[i]);
    readln(s);
   
    answer := IntToStr(s) + ' = ';
    for i := n downto 1 do
    begin
        answer := answer + IntToStr(s div x[i]) + '*' + IntToStr(x[i]);
        s := s mod x[i];
        if i > 1 then
            answer := answer + ' + ';
    end;
   
    if s <> 0 then
        writeln('NO')
    else
        writeln(answer);
end.

Более полный и правильный вариант решения, но и куда более сложный

//PascalABC.Net 3.1 сборка 1200
uses System.Collections.Generic;
uses System;
var
    x := new List<integer>;
    c := new List<Tuple<string, integer>>;

procedure getParcelling(sum, step: integer; coefficients: string; count: integer);
begin
    if step >= x.Count then begin
        if sum = 0 then c.Add((coefficients, count));
        Exit;
    end;
    if step < 0 then step := 0;
    
    for var j := 0 to (sum div x[step]) do
    begin
        var s := '';
        if j > 0 then begin
            if step > 0 then s += ' + ';
            s += IntToStr(j) + '*' + IntToStr(x[step]);
        end;
        getParcelling(sum - x[step] * j, step + 1, coefficients + s, count + j);
    end;
end;

begin
    x := ReadArrInteger('x:', ReadInteger('n =')).ToList;
    var sum := ReadInteger('sum =');
    
    getParcelling(sum, 0, '', 0);
    if c.Count = 0 then
        writeln('No')
    else begin
        var min := c.Min(cc -> cc.Item2);
        Println(c.Where(cc -> cc.Item2 = min));
    end;
end.
0,0(0 оценок)
Ответ:
12poli
12poli
20.11.2020 12:45
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('>');
  var p:=s.Select((x,i)->(x,i+1)).Where(x->x[1].IsOdd and (x[0]=' '));
  Writeln('Число пробелов на начетных местах равно ',p.Count);
  foreach var t in p do s[t[1]]:='*';
  Writeln(s)
end.

Пример
> А роза упала на лапу Азора
Число пробелов на начетных местах равно 3
А роза*упала*на лапу*Азора

// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('>');
  var n:=s.Length;
  if n mod 4<>0 then Writeln('Кол-во символов не кратно 4')
  else begin
    var i:=1;
    repeat
      Swap(s[i],s[i+3]);
      Swap(s[i+1],s[i+2]);
      i+=4
    until i>n;
    Writeln(s)
    end
end.

Пример
> карандаш
аракшадн
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота