sv-opt0076
?>

Перевести код из pascal в c, c++ или с#: program prresh; подключение графического модуля var n, m, r: integer; a: array [1..100, 1..100] of real; o: char; w: text; процедура ввода значений procedure vvod(n, m: integer); var i, j: integer; begin assign (w, 'prresh.txt'); rewrite (w); for i : = 1 to n do begin for j : = 1 to m do begin write('a[', i, ', ', j, ']='); read(a[i, j]); end; end; writeln('матрица: '); writeln(w, 'матрица: '); for i : = 1 to n do begin for j : = 1 to m do begin write(a[i, j], ' '); write(w, a[i, j], ' '); end; writeln; writeln(w); end; writeln(w); close(w); end; критерий сэвиджа procedure sevi(n, m: integer); var b: array [1..100] of real; q: array [1..100, 1..100] of real; i, j: integer; c: real; begin assign (w, 'prresh.txt'); append(w); writeln(w, 'критерий сэвиджа.'); writeln(w, 'наибольшее значение каждого столбца.'); for j : = 1 to n do begin c : = a[1, j]; for i : = 1 to m do begin if a[i, j] > c then c : = a[i, j]; end; b[j] : = c; writeln(w, 'значение ', j, ' столбца = ', b[j]); end; writeln(w, 'вычтем из наибольшего значения столбца, каждое значение столбца.'); writeln(w, 'сформируем новую матрицу из полученных значений.'); for i : = 1 to m do begin for j : = 1 to n do begin q[i, j] : = b[j] - a[i, j]; write(w, q[i, j], ' '); end; writeln(w); end; writeln(w, 'наибольшее значение каждой строки.'); for i : = 1 to n do begin c : = q[i, 1]; for j : = 1 to m do begin if q[i, j] > c then c : = q[i, j]; end; b[i] : = c; writeln(w, 'значение ', i, ' строки = ', b[i]); end; for i : = 1 to n do begin writeln('b[', i, ']=', b[i]); end; c : = b[1]; for i : = 1 to n do begin if b[i] < c then c : = b[i]; end; writeln('ответ: '); writeln(w, 'ответ: '); for i : = 1 to n do begin if b[i] = c then begin writeln('b[', i, ']=', b[i]); writeln(w, 'e', i, '=', b[i]); end; end; close(w); end; критерий гермейера procedure ger(n, m: integer); var i, j : integer; u: real; v1, v2: array [1..100, 1..100] of real; q, b: array [1..100] of real; c: real; begin assign (w, 'prresh.txt'); append(w); writeln(w, 'критерий гермейера.'); writeln('для решения необходимы сведенья о вероятности принятия каждого решения.'); writeln(w, 'вероятности принятия решения: '); readln (u); for j : = 1 to m do begin q[j]: =u; //write('q', j, '='); //readln(q[j]); write(w, 'q', j, ' = ', q[j], ' '); end; writeln(w); c : = a[1, 1]; for i : = 1 to n do begin for j : = 1 to m do begin if a[i, j] > c then c : = a[i, j]; end; end; writeln(w, 'наибольшее значение в матрице = ', c); c : = c + 1; writeln(w, 'необходимо из каждого элемента матрицы вычесть ', c); writeln(w, 'полученная матрица: '); for i : = 1 to n do begin for j : = 1 to m do begin v1[i, j] : = a[i, j] - c; write(w, v1[i, j], ' '); v2[i, j] : = v1[i, j] * q[j]; end; writeln(w); end; writeln(w, 'умножаем каждый элемент матрицы на соответствующую вероятность.'); writeln(w, 'выбираем наименьший результат каждой строки.'); for i : = 1 to n do begin c : = v2[i, 1]; for j : = 1 to m do begin if v2[i, j] < c then c : = v2[i, j]; end; b[i] : = c; writeln(w, 'значение ', i, ' строки = ', b[i]); end; for i : = 1 to n do begin writeln('b[', i, ']=', b[i]); end; c : = b[1]; for i : = 1 to n do begin if b[i] > c then c : = b[i]; end; writeln('ответ: '); writeln(w, 'ответ: '); for i : = 1 to n do begin if b[i] = c then begin writeln('b[', i, ']=', b[i]); writeln(w, 'e', i, '=', b[i]); end; end; close(w); end; начальный ввод в прогамму begin assign (w, 'prresh.txt'); rewrite (w); write(w, 'матрица: '); close(w); write('введите количество строк матрицы '); readln(n); write('введите количество столбцов матрицы '); readln(m); vvod(n, m); o : = 'y'; while o < > 'n' do begin if o = 'y' then begin writeln(''); writeln('методы выбора: '); writeln('1. критерий сэвиджа; '); writeln('2. критерий гермейера; '); write('введите номер метода: '); readln(r); case r of 1: sevi(n, m); 2: ger(n, m); 3: o : = 'n'; end; end; if o = 'y' then begin writeln('решить пример другим методом? '); writeln('да - y! нет - n! '); read(o); end; //clrscr; end; end.

Информатика

Ответы

katrin50
Using System;
using System.Linq;
using System.Text;

namespace Test1
{
    class Program
    {
        static string file_name = "PrResh.txt";
        static bool handfree = true;  //определяет вручную ли вводятся данные или рандомом

        static void Main()
        {
            Console.WriteLine("Введите размеры матрицы (строки x столбцы)");
            int rows = Convert.ToInt32(Console.ReadLine());
            int columns = Convert.ToInt32(Console.ReadLine());

            var M = InitMatrix(rows, columns, handfree);

            int Reply;
            do
            {
                Console.WriteLine();
                Console.WriteLine("Выбирите метод решения:");
                Console.WriteLine("1. Критерий Сэвиджа");
                Console.WriteLine("2. Критерий Гермейера");
                Console.WriteLine("3. Выход");
                Reply = Convert.ToInt32(Console.ReadLine());

                switch (Reply)
                {
                    case 1:
                        {
                            SavageCriterion(M);
                            break;
                        }
                    case 2:
                        {
                            var Q = new double[M.GetLength(1)];
                            if (handfree)
                            {
                                var r = new Random(DateTime.Now.Millisecond);

                                for (var j = 0; j < Q.Length; j++)
                                {
                                    Q[j] = r.NextDouble();
                                }
                            }
                            else {
                                Console.WriteLine("Введите вероятности");
                                for (var j = 0; j < Q.Length; j++)
                                {
                                    Q[j] = Convert.ToDouble(Console.Read());
                                }
                            }

                            GermeierCriterion(M, Q);
                            break;
                        }
                    default:
                        {
                            Reply = -1;
                            break;
                        }

                }

            } while (Reply > 0);

            Console.ReadKey();

        }

        static double[,] InitMatrix(int rows, int columns, bool handfree = false)
        {
            var M = new double[rows, columns];

            var sb = new StringBuilder();
            sb.AppendLine("Матрица [" + rows + "x" + columns + "] :");

            if (handfree)
            {
                var random = new Random(DateTime.Now.Millisecond);
                for (var i = 0; i < rows; i++)
                {
                    for (var j = 0; j < columns; j++)
                    {
                        M[i, j] = random.NextDouble() * random.Next(-50, 50);
                        sb.Append(M[i, j] + " ");
                    }
                    sb.AppendLine();
                }
            }
            else {
                for (var i = 0; i < rows; i++)
                {
                    for (var j = 0; j < columns; j++)
                    {
                        Console.Write("M[" + i + ", " + j + "] = ");
                        M[i, j] = Convert.ToDouble(Console.Read());
                        sb.Append(M[i, j] + " ");
                    }
                    Console.WriteLine();
                    sb.AppendLine();
                }
            }

            OutputToConsoleAndLog(sb.ToString());
            return M;
        }

        static double SavageCriterion(double[,] M)
        {
            OutputToConsoleAndLog("Критерий Сэвиджа.");
            OutputToConsoleAndLog("Наибольшее значение каждого столбца.");
            var max = new double[M.GetLength(1)];
            for (var j = 0; j < max.Length; j++)
            {
                max[j] = M[0, j];
                for (var i = 1; i < M.GetLength(0); i++)
                {
                    if (max[j] < M[i, j])
                        max[j] = M[i, j];
                }
                OutputToConsoleAndLog("Max[" + j + " столбца] = " + max[j]);

            }

            OutputToConsoleAndLog("Вычтем из наибольшего значения столбца, каждое значение столбца.");
            OutputToConsoleAndLog("Сформируем новую матрицу из полученных значений.");
            var sb = new StringBuilder();

            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    M[i, j] = max[j] - M[i, j];
                    sb.Append(M[i, j] + " ");
                }
                sb.AppendLine();
            }
            OutputToConsoleAndLog(sb.ToString());

            OutputToConsoleAndLog("Наибольшее значение каждой строки.");
            max = new double[M.GetLength(0)];

            for (var i = 0; i < M.GetLength(0); i++)
            {
                max[i] = M[i, 0];
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    if (max[i] < M[i, j])
                        max[i] = M[i, j];
                }
                OutputToConsoleAndLog("Max[" + i + " строки] = " + max[i]);
            }

            OutputToConsoleAndLog("ответ: " + max.Last());
            return max.Last();
        }

        static double GermeierCriterion(double[,] M, double[] Q)
        {
            OutputToConsoleAndLog("Критерий Гермейера.");
            OutputToConsoleAndLog("Для решения необходимы сведенья о вероятности принятия каждого решения.");
            OutputToConsoleAndLog("Вероятности принятия решения:");
            for (var j = 0; j < Q.Length; j++)
            {
                OutputToConsoleAndLog("Q[" + j + "] = " + Q[j]);
            }

            var max = M[0, 0];
            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    if (max < M[i, j]) max = M[i, j];
                }
            }

            OutputToConsoleAndLog("Наибольшее значение в матрице = " + max);
            max += 1;
            OutputToConsoleAndLog("Необходимо из каждого элемента матрицы вычесть " + max);
            OutputToConsoleAndLog("Полученная матрица:");
            var sb = new StringBuilder();

            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    M[i, j] -= max;
                    sb.Append(M[i, j] + " ");
                    M[i, j] *= Q[j];
                }
                sb.AppendLine();
            }
            OutputToConsoleAndLog(sb.ToString());

            OutputToConsoleAndLog("Умножаем каждый элемент матрицы на соответствующую вероятность.");
            OutputToConsoleAndLog("Выбираем наименьший результат каждой строки.");
            var min = new double[M.GetLength(0)];

            for (var i = 0; i < M.GetLength(0); i++)
            {
                M[i, 0] *= Q[0];
                min[i] = M[i, 0];
                for (var j = 1; j < M.GetLength(1); j++)
                {
                    M[i, j] *= Q[j];
                    if (min[i] > M[i, j]) min[i] = M[i, j];
                }
                OutputToConsoleAndLog("Min[" + i + " строки] = " + min[i]);
            }

            OutputToConsoleAndLog("ответ: " + min.Max());
            return min.Max();
        }

        static void OutputToConsoleAndLog(string text)
        {
            Console.WriteLine(text);
            using (var file = new System.IO.StreamWriter(file_name, true))
            {
                file.WriteLine(text);
            }
        }

    }
}
Postnikova-StreltsovaKyulbyakova
#include "stdafx.h"
#include "conio.h"
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "Добро в магазин книг!" << endl;
cout << "Выберите книгу из предложенного списка." << endl;
cout << "Список:" << endl << "1. Книга 1. " << "Стоимость 590 рублей" << endl; cout << "2. Книга 2. " << "Стоимость 440 рублей" << endl << "3. Книга 3. " << "Стоимость 330 рублей" << endl;
int a, b, k, d;
cout << endl;
cin >> d;
if (d <= 3)
{
  switch (d)
  {
 case (1):
 {
  k = 590;
  break;
 }
 case (2):
 {
   k = 440;
  break;
 }
case (3):
 {
  k = 330;
  break;
 }
 }
 cout << "Внесите платеж!" << endl;
  cin >> a;
 if (a > k)
 {
  b = a - k;
  cout << "Возьмите сдачу " << b << " рублей.";
  }
 else if (a < k)
 {
  b = k - a;
  cout << "Внесенной вами суммы недостаточно для покупки товара!" << endl; cout << "Доплатите " << b << " рублей" << endl;
  }
 else if (a = k)
  cout << " за покупку!" << endl;
 }
else
 {
 cout << "Выбери книгу из предложенного списка!" << endl;
 }
_getch();
return 0;
}
Cоставьте программу на языкe с++ реализовать эпизод применения компьютера в книжном магазине: компью
Городничий_Коновалова384
Информационный объем текста с учетом избыточности составит
100 Кб × (1+25/100) = 125 Кб
Переведем этот объем в килобиты.
1 Кб = 1024 б = 1024×8 бит = 8192 бита;
125 Кб = 125 × 8192 = 1 024 000 бит
Определим время передачи.
За 1 с передается 10 кбит, т.е. 10 000 бит.
Тогда время передачи составит 1 024 000 / 10 000 = 102.4 с

Так задача должна решаться, если использованы единицы измерения информации по ГОСТ (1 Кбайт = 1024 байта, 1 кбит = 1000 бит). Обратите внимание, что у Кбайт буква "К" заглавная, что указывает на её внесистемность относительно системы СИ. Исторически пропускная каналов передачи данных измеряется в битах/с, причем с использованием системных приставок единиц измерения (к - кило, 10³, м - мега, 10⁶ и .т.д.).

Но тут в условии почему-то использована заглавная буква "К" и при указании скорости передачи, а по ГОСТ это означает множитель 2¹⁰ = 1024.
Если придраться к этой записи, то мы имеем право написать, что 10 Кбит/с это 10 240 бит/с, а не 10 000 бит/с и в ответе получим ровно 100с.

Выбор за автором вопроса.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Перевести код из pascal в c, c++ или с#: program prresh; подключение графического модуля var n, m, r: integer; a: array [1..100, 1..100] of real; o: char; w: text; процедура ввода значений procedure vvod(n, m: integer); var i, j: integer; begin assign (w, 'prresh.txt'); rewrite (w); for i : = 1 to n do begin for j : = 1 to m do begin write('a[', i, ', ', j, ']='); read(a[i, j]); end; end; writeln('матрица: '); writeln(w, 'матрица: '); for i : = 1 to n do begin for j : = 1 to m do begin write(a[i, j], ' '); write(w, a[i, j], ' '); end; writeln; writeln(w); end; writeln(w); close(w); end; критерий сэвиджа procedure sevi(n, m: integer); var b: array [1..100] of real; q: array [1..100, 1..100] of real; i, j: integer; c: real; begin assign (w, 'prresh.txt'); append(w); writeln(w, 'критерий сэвиджа.'); writeln(w, 'наибольшее значение каждого столбца.'); for j : = 1 to n do begin c : = a[1, j]; for i : = 1 to m do begin if a[i, j] > c then c : = a[i, j]; end; b[j] : = c; writeln(w, 'значение ', j, ' столбца = ', b[j]); end; writeln(w, 'вычтем из наибольшего значения столбца, каждое значение столбца.'); writeln(w, 'сформируем новую матрицу из полученных значений.'); for i : = 1 to m do begin for j : = 1 to n do begin q[i, j] : = b[j] - a[i, j]; write(w, q[i, j], ' '); end; writeln(w); end; writeln(w, 'наибольшее значение каждой строки.'); for i : = 1 to n do begin c : = q[i, 1]; for j : = 1 to m do begin if q[i, j] > c then c : = q[i, j]; end; b[i] : = c; writeln(w, 'значение ', i, ' строки = ', b[i]); end; for i : = 1 to n do begin writeln('b[', i, ']=', b[i]); end; c : = b[1]; for i : = 1 to n do begin if b[i] < c then c : = b[i]; end; writeln('ответ: '); writeln(w, 'ответ: '); for i : = 1 to n do begin if b[i] = c then begin writeln('b[', i, ']=', b[i]); writeln(w, 'e', i, '=', b[i]); end; end; close(w); end; критерий гермейера procedure ger(n, m: integer); var i, j : integer; u: real; v1, v2: array [1..100, 1..100] of real; q, b: array [1..100] of real; c: real; begin assign (w, 'prresh.txt'); append(w); writeln(w, 'критерий гермейера.'); writeln('для решения необходимы сведенья о вероятности принятия каждого решения.'); writeln(w, 'вероятности принятия решения: '); readln (u); for j : = 1 to m do begin q[j]: =u; //write('q', j, '='); //readln(q[j]); write(w, 'q', j, ' = ', q[j], ' '); end; writeln(w); c : = a[1, 1]; for i : = 1 to n do begin for j : = 1 to m do begin if a[i, j] > c then c : = a[i, j]; end; end; writeln(w, 'наибольшее значение в матрице = ', c); c : = c + 1; writeln(w, 'необходимо из каждого элемента матрицы вычесть ', c); writeln(w, 'полученная матрица: '); for i : = 1 to n do begin for j : = 1 to m do begin v1[i, j] : = a[i, j] - c; write(w, v1[i, j], ' '); v2[i, j] : = v1[i, j] * q[j]; end; writeln(w); end; writeln(w, 'умножаем каждый элемент матрицы на соответствующую вероятность.'); writeln(w, 'выбираем наименьший результат каждой строки.'); for i : = 1 to n do begin c : = v2[i, 1]; for j : = 1 to m do begin if v2[i, j] < c then c : = v2[i, j]; end; b[i] : = c; writeln(w, 'значение ', i, ' строки = ', b[i]); end; for i : = 1 to n do begin writeln('b[', i, ']=', b[i]); end; c : = b[1]; for i : = 1 to n do begin if b[i] > c then c : = b[i]; end; writeln('ответ: '); writeln(w, 'ответ: '); for i : = 1 to n do begin if b[i] = c then begin writeln('b[', i, ']=', b[i]); writeln(w, 'e', i, '=', b[i]); end; end; close(w); end; начальный ввод в прогамму begin assign (w, 'prresh.txt'); rewrite (w); write(w, 'матрица: '); close(w); write('введите количество строк матрицы '); readln(n); write('введите количество столбцов матрицы '); readln(m); vvod(n, m); o : = 'y'; while o < > 'n' do begin if o = 'y' then begin writeln(''); writeln('методы выбора: '); writeln('1. критерий сэвиджа; '); writeln('2. критерий гермейера; '); write('введите номер метода: '); readln(r); case r of 1: sevi(n, m); 2: ger(n, m); 3: o : = 'n'; end; end; if o = 'y' then begin writeln('решить пример другим методом? '); writeln('да - y! нет - n! '); read(o); end; //clrscr; end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Lerkinm
vikola2008
vodoleytatyana
Агибалов428
Евгеньевич-Куликов1614
zakupki
Баканова1415
Tselyaritskaya Yurevich
sky-elena712558
ustinov434
Вячеславович-Дмитрий1694
lavr74
titancore
Inozemtseva Korolev1271
dzo-dzo