atanova2861
22.09.2020 11:39

Между населёнными пунктами A, B, C, D, E, F построены дороги. Определи длину кратчайшего пути между пунктами A и F. Передвигаться можно только по дорогам, протяжённость которых указана в таблице


Между населёнными пунктами A, B, C, D, E, F построены дороги. Определи длину кратчайшего пути между

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Tanya20042017
25.09.2020 13:20
Согласен) Без ума тут никак. У Вас дана структура, в которой есть три поля целочисленного типа и два поля строкового типа. Для работы со структурой, необходимо изначально создать хотя бы один объект данной структуры (music first;), где first - имя объекта, music - тип данных, то есть Ваша структура. После этого открывается доступ к полям объекта. Чтобы обратиться к какому-либо полю, необходимо использовать подобную конструкцию  first.numb или first.autor и так далее. Чтобы Вам было проще, можно показать это на примере. Можно заполнить поля std::cin >> first.numb, а так же можно его вывести на экран std::cout << first.numb. По сути, это обычные переменные, но отличает их только то, что они связаны, это позволяет описывать какие либо сущности из реального мира.
0,0(0 оценок)
Ответ:
svetaobukhova1
14.04.2020 01:19
Uses crt;

const
    n = 5;
    m = 10; {кол-во столбцов}
    l = 10; {максимальная длина одной строки/слова}
    {letters = '';}
    file_path = 'data.txt';

type
    SmallString = string[l];
    WordsMas = array[1..n, 1..m] of SmallString;

var
    words: WordsMas;
    i, j, k: integer;

function RandomWord(n: integer): SmallString;
var
    i: integer;
    s: SmallString;
    letters: string;
begin
    letters := '';
    s := '';
    for i := 1 to n do 
        s := s + letters[Random(length(letters) - 1) + 1];
    RandomWord := s;
end;

function Replace(s, find_text, replace_text: SmallString): SmallString;
var
    i: integer;
begin
    repeat
        i := pos(find_text, s);
        if i <> 0 then begin
            delete(s, i, length(find_text));
            insert(replace_text, s, i);
        end;
    until i = 0;
    
    Replace := s;
end;

function Invert(s: SmallString): SmallString;
var
    i: integer;
    t: SmallString;
begin
    t := '';
    for i := 1 to length(s) do
        t := s[i] + t;
    
    Invert := t;
end;

function SwapCase(s: SmallString): SmallString;
var
    i: integer;
begin
    for i := 1 to length(s) do
        if s[i] = upcase(s[i]) then
            s[i] := chr(ord(s[i]) + 32)
        else s[i] := upcase(s[i]);
    
    SwapCase := s;
end;

procedure PrintMas(mas: WordsMas; name: string);
var
    i, j: integer;
    f: text;
begin
    writeln(name);
    for i := 1 to n do
    begin
        
        write(i, ': ');
        for j := 1 to m do
            write(mas[i, j]:l, '; ');
        writeln;
    end;
    
    Assign(f, file_path);
    Append(f);
    
    writeln(f, name);
    for i := 1 to n do
    begin
        
        write(f, i, ': ');
        for j := 1 to m do
            write(f, mas[i, j]:l, '; ');
        writeln(f);
    end;
    
    Close(f);
end;

begin
    Randomize;
    ClrScr;
    
    for i := 1 to n do
        for j := 1 to m do
            words[i, j] := RandomWord(Random(l - 5) + 5);
            {words[i, j] := 'GoodXXMMNN';}
    
    PrintMas(words, 'Original');
    
    for i := 1 to n do
        for j := 1 to m do
            case i of
                1: words[i, j] := Replace(words[i, j], 'N', 'X');
                2: words[i, j] := Replace(words[i, j], 'X', 'M');
                3: words[i, j] := Invert(words[i, j]);
                4: words[i, j] := SwapCase(words[i, j]);
            end;
    
    PrintMas(words, 'New One');
    
    Readln;
end.

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