elyashatdinova
?>

Решить и написать программу на C# Задача «Сколько каких дорог?» В городе Новые Васюки на некоторых дорогах введено одностороннее движение. Схема дорог задана в виде весовой матрицы графа, числа обозначают длины дорог. Если длины дорог из пункта А в пункт Б разные, это означает, что есть две разные дороги. Найдите отдельно количество дорог в Новых Васюках с односторонним и двусторонним движением. Входные данные В первой строке вводится количество перекрёстков в Новых Васюках N ( 1 ≤ N ≤ 1000 В следующих N строках записано по N чисел, разделённых пробелами – длины дорог между каждой парой перекрёстков. Ноль означает, что дороги между этими перекрёстками нет. Выходные данные Программа должна вывести два числа в одной строке, разделив их пробелом: сначала количество дорог с односторонним движением, потом – количество дорог с двусторонним движением. Примеры входные данные 5 0 2 3 4 0 2 0 5 0 7 3 6 0 8 0 0 0 0 0 0 0 7 0 9 0 выходные данные 5 3

Информатика

Ответы

spec-nt
// PascalABC.Net 3.0, сборка 1064
const
  n = 10;
var
  ms: array[1..n] of string;
  t: string;
  i, j: integer;
  f: Text;
begin
  { Чтение матрицы из файла }
  Assign(f, 'in.txt'); Reset(f);
  for i := 1 to n do Readln(f, ms[i]);
  Close(f);
  { Вывод матрицы на экран }
  Writeln('*** Бинарная матрица ***');
  for i := 1 to n do Writeln(ms[i]);
  { Сортировка обменом (простейшая) }
  for i := 1 to n - 1 do
    for j := 1 to n - 1 do
      if ms[j] > ms[j + 1] then
      begin t := ms[j]; ms[j] := ms[j + 1]; ms[j + 1] := t end;
  { Поиск одинаковых строк }
  Writeln('Совпадающие строки');
  j := 1; t := ms[1];
  for i := 2 to n do
  begin
    if ms[i] = t then Inc(j)
    else begin
      if j > 1 then begin Writeln(t); j := 1 end;
      t := ms[i]
    end
  end;
  if j > 1 then Writeln(t)
end.

Контрольное решение:
*** Бинарная матрица ***
1 1 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1 0 0
0 0 1 0 1 0 1 0 1 1
0 1 0 1 0 1 0 1 0 1
1 1 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
Совпадающие строки
0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1 0 1
vallium8354
Class RandomFile{
 public static void main(String args[]){
  char charArray[] = {'а','р','й','о','ш','з','б','э','ж','ы','л'}; 
  java.util.Scanner in = new java.util.Scanner(System.in);
  String lineSeperator = System.getProperty("line.separator");
  System.out.print("Количество строк: "); int stringsAmount = in.nextInt();
  System.out.print("Название файла: "); String fileName = in.nextLine(); fileName = in.nextLine(); fileName = fileName+".txt";
 
  try(java.io.FileWriter fout = new java.io.FileWriter(fileName)){
   for(int currentString = 0; currentString<stringsAmount; currentString++){
    String generatedString = "";
    for(int currentChar = 0; currentChar<charArray.length; currentChar++){
  int randomChar = -1; boolean badRandom = false;
   do{
   randomChar = (int)(Math.random()*1000)%charArray.length; badRandom = false;
   for(int genStrPos = 0; genStrPos<generatedString.length(); genStrPos++)
    if(generatedString.charAt(genStrPos)==charArray[randomChar]){badRandom = true;break;}
  }while(badRandom);
  generatedString = generatedString+charArray[randomChar];
    }
 fout.write(generatedString+lineSeperator);
   }
  }catch(java.io.IOException io){
   System.out.println("Ошибка вывода в файл!");
  }
 }
}

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

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

Решить и написать программу на C# Задача «Сколько каких дорог?» В городе Новые Васюки на некоторых дорогах введено одностороннее движение. Схема дорог задана в виде весовой матрицы графа, числа обозначают длины дорог. Если длины дорог из пункта А в пункт Б разные, это означает, что есть две разные дороги. Найдите отдельно количество дорог в Новых Васюках с односторонним и двусторонним движением. Входные данные В первой строке вводится количество перекрёстков в Новых Васюках N ( 1 ≤ N ≤ 1000 В следующих N строках записано по N чисел, разделённых пробелами – длины дорог между каждой парой перекрёстков. Ноль означает, что дороги между этими перекрёстками нет. Выходные данные Программа должна вывести два числа в одной строке, разделив их пробелом: сначала количество дорог с односторонним движением, потом – количество дорог с двусторонним движением. Примеры входные данные 5 0 2 3 4 0 2 0 5 0 7 3 6 0 8 0 0 0 0 0 0 0 7 0 9 0 выходные данные 5 3
Ваше имя (никнейм)*
Email*
Комментарий*

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

Konchenko1980
davidovalbert6
ruslan
waspmoto6188
format-l3364
arionul-secondary2
Sergei1805
Гаврилаш
volodin-alexander
uvarovig
silantyevevgeny
veraplucnika
oldprince840
Шаленко
Мария1414