С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 20
1

Вывести элементы квадратной матрицы в текстовый файл по спирали

03.12.2014, 18:40. Показов 1787. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1;1 и перемещаясь по часовой стрелке, вывести все ее элементы в текстовый файл по спирали: первая строка, последний столбец, последняя строка в обратном порядке, первый столбец в обратном порядке, оставшиеся элементы второй строки и т. д.; последним выводится центральный элемент матрицы.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2014, 18:40
Ответы с готовыми решениями:

Начиная от центра, обойти по спирали все элементы квадратной матрицы
Доброго времени, помогите создать программу на Си/С++ Задание: Начиная от центра, обойти по...

Начиная с центра, обойти по спирали все элементы квадратной матрицы
Добрый день, ребята!!! не подскажите в написании программки??? Начиная с центра, обойти по спирали...

Начиная с центра, обойти по спирали все элементы квадратной матрицы
В целочисленной квадратной матрице nxn (3<=n<=101, n - нечетное) - найти номер первого из...

Вывести матрицу по спирали в текстовый файл.
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1;1 и перемещаясь по...

6
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
03.12.2014, 19:15 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const nmax=25;
var a:array[1..nmax,1..nmax]of integer;
    n,i,j,x,y,add,dir:integer;
    f:text;
begin
randomize;
repeat
write('Введите размер матрицы нечетное число от 3 до ',nmax,' n=');
readln(n);
until(n in [3..nmax])and(odd(n));
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:3);
   end;
  writeln;
 end;
assign(f,'output.txt');
rewrite(f);
x:=0; //из левого верхнего угла
y:=1;
Add:=n; //путь=n
dir:=1;
while (add<>0) do //пока длина пути больше 0
 begin
  i:=0;
  while (i<>add) do //вправо и влево
   begin
    x:=x+dir;
    write(f,' ',a[y,x]);
    i:=i+1;
   end;
  i:=0;
  add:=add-1;
  while (i<>add) do //вниз и вверх
   begin
    y:=y+dir;
    write(f,' ',a[y,x]);
    i:=i+1;
   end;
  dir:=dir*(-1); //прошли полкруга меняем знак
 end;
close(f);
write('Матрица по спирали записана в файл Output.txt')
end.
1
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 20
05.12.2014, 18:40  [ТС] 3
большое спасибо)
0
0 / 0 / 0
Регистрация: 13.12.2015
Сообщений: 50
11.03.2016, 17:52 4
а можно это же задание, только без записи в файл, у меня не получилось изменить
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
11.03.2016, 18:08 5
Цитата Сообщение от P-980 Посмотреть сообщение
без записи в файл
P-980, Да просто убрать файловую переменную:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const nmax=25;
var a:array[1..nmax,1..nmax]of integer;
    n,i,j,x,y,add,dir:integer;
   
begin
randomize;
repeat
write('Введите размер матрицы нечетное число от 3 до ',nmax,' n=');
readln(n);
until(n in [3..nmax])and(odd(n));
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:3);
   end;
  writeln;
 end;
 writeln;
x:=0; //из левого верхнего угла
y:=1;
Add:=n; //путь=n
dir:=1;
while (add<>0) do //пока длина пути больше 0
 begin
  i:=0;
  while (i<>add) do //вправо и влево
   begin
    x:=x+dir;
    write(' ',a[y,x]);
    i:=i+1;
   end;
  i:=0;
  add:=add-1;
  while (i<>add) do //вниз и вверх
   begin
    y:=y+dir;
    write(' ',a[y,x]);
    i:=i+1;
   end;
  dir:=dir*(-1); //прошли полкруга меняем знак
 end;
end.
1
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
11.03.2016, 18:09 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const nmax=25;
var a:array[1..nmax,1..nmax]of integer;
    n,i,j,x,y,add,dir:integer;
begin
randomize;
repeat
write('Введите размер матрицы нечетное число от 3 до ',nmax,' n=');
readln(n);
until(n in [3..nmax])and(odd(n));
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(100);
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln('Вывод по спирали');
x:=0; //из левого верхнего угла
y:=1;
Add:=n; //путь=n
dir:=1;
while (add<>0) do //пока длина пути больше 0
 begin
  i:=0;
  while (i<>add) do //вправо и влево
   begin
    x:=x+dir;
    write(a[y,x]:3);
    i:=i+1;
    end;
  i:=0;
  add:=add-1;
  while (i<>add) do //вниз и вверх
   begin
    y:=y+dir;
    write(a[y,x]:3);
    i:=i+1;
   end;
  dir:=dir*(-1); //прошли полкруга меняем знак
 end;
end.
1
capricornus CF
11.03.2016, 18:10     Вывести элементы квадратной матрицы в текстовый файл по спирали
  #7

Не по теме:

ох ты как.. ладно, впредь не буду наперед батьки лезть

0
11.03.2016, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2016, 18:10
Помогаю со студенческими работами здесь

Начиная с центра, обойти по спирали все элементы квадратной матрицы, распечатывая их в порядке обхода
Начиная с центра, обойти по спирали все элементы квадратной матрицы ,распечатывая их в порядке...

Поменять первый нечетный и последний четный элементы матрицы и вывести матрицу в текстовый файл
Размерность матрицы и ее целочисленные элементы вводятся из файла. Поменять первый нечетный и...

Заполнить квадратную матрицу порядка N числами от 1 до N^2 по спирали и вывести в текстовый файл
Добрый день, друзья! У меня вот какой вопрос появился. Написал простейшую программу для создания...

Вывести элементы матрицы по спирали
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru