Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.11.2009
Сообщений: 18
1

Поменять местами первую строку и главную диагональ матрицы.

19.12.2009, 20:46. Показов 1079. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача 8
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
49
50
51
52
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,i,j,kp,ko:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to n do
    begin
     a[i,j]:=random(11)-6;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
ko:=0;kp:=0;
for i:=1 to n do
for j:=1 to n do
 begin
  if (i mod 2 =0)and(a[i,j]<0)then ko:=ko+1;
  if (j mod 2<>0)and(a[i,j]>0)then kp:=kp+1;
 end;
writeln('Отрицательных в четных строках ',ko);
writeln('Положительных в нечетных столбцах ',kp);
 
if ko>kp then
 begin
  for i:=1 to n do
   begin
    x:=a[1,i];
    a[1,i]:=a[i,i];
    a[i,i]:=x;
   end;
  writeln('Измененная матрица:');
  for i:=1 to n do
   begin
    for j:=1 to n do
    write(a[i,j]:4);
    writeln;
   end;
 end
else write('Отрицательных не больше! Матрица не меняется.');
readln
end.

Если в матрице количество отрицательных элементов в четных строках больше количества положительных элементов в нечетных столбцах, то поменять местами первую строку и главную диагональ матрицы.

Если эту задачу делать с внешним файлом,то она будет выглядеть так или иначе,и если не так,то что надо изменить.Люди помогите срочно надо.


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
49
var t:text;
a:array[1..nmax,1..nmax] of integer;
    n,i,j,kp,ko:byte;
    x:integer;
begin
assign(t,’путь к файлу)
reset(t)
write('Размер матрицы=');
close(t);
writeln('Исходная матрица:');
for i:=1 to n do
 begin
   for j:=1 to n do
    begin
     a[i,j]:=random(11)-6;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
ko:=0;kp:=0;
for i:=1 to n do
for j:=1 to n do
 begin
  if (i mod 2 =0)and(a[i,j]<0)then ko:=ko+1;
  if (j mod 2<>0)and(a[i,j]>0)then kp:=kp+1;
 end;
writeln('Отрицательных в четных строках ',ko);
writeln('Положительных в нечетных столбцах ',kp);
 
if ko>kp then
 begin
  for i:=1 to n do
   begin
    x:=a[1,i];
    a[1,i]:=a[i,i];
    a[i,i]:=x;
   end;
  writeln('Измененная матрица:');
  for i:=1 to n do
   begin
    for j:=1 to n do
    write(a[i,j]:4);
    writeln;
   end;
 end
else write('Отрицательных не больше! Матрица не меняется.');
readln
end.
Добавлено через 3 часа 38 минут
Пожалуйста помогите please.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2009, 20:46
Ответы с готовыми решениями:

Поменять местами первую строку и главную диагональ матрицы.
Если в матрице количество отрицательных элементов в четных строках больше количества положительных...

Поменять местами главную и побочную диагональ
Ребят, суть задачи, как вы уже поняли, - поменять местами главную и побочную диагональ. чтобы из...

Поменять местами строки, столбцы в матрице (чтобы упорядочить главную диагональ)
Здравствуйте, помогите пожалуйста дорешать задачу: Разработать функцию, которая проверяет,...

Поменять главную и побочную диагональ матрицы
в заданном целочисленном массиве Аnn поменять главную и побочную диагональ

3
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
19.12.2009, 20:53 2
Pascal
1
2
3
4
5
6
7
8
9
10
var t:text;
a:array[1..nmax,1..nmax] of integer;
    n,i,j,kp,ko:byte;
    x:integer;
begin
assign(t,’путь к файлу);
reset(t);
write('Размер матрицы=');
readln(t,n);
close(t);
а что, элементы массива не из файла считываются?
0
0 / 0 / 0
Регистрация: 09.11.2009
Сообщений: 18
20.12.2009, 00:19  [ТС] 3
я имею ввиду не с randomize а с созданием внешнего файла txt.doc в котором будет указываться сама последовательность значений 1 2 3 4 5 6 и т.д.(т.е значения будут считываться с файла) и для чего нужна строка until n in [1..nmax]; и что значит
if (i mod 2 =0)and(a[i,j]<0)then ko:=ko+1;
if (j mod 2<>0)and(a[i,j]>0)then kp:=kp+1;
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
20.12.2009, 00:51 4
Цитата Сообщение от virtex Посмотреть сообщение
я имею ввиду не с randomize а с созданием внешнего файла txt.doc в котором будет указываться сама последовательность значений 1 2 3 4 5 6 и т.д.(т.е значения будут считываться с файла) и для чего нужна строка until n in [1..nmax]; и что значит
if (i mod 2 =0)and(a[i,j]<0)then ko:=ko+1;
if (j mod 2<>0)and(a[i,j]>0)then kp:=kp+1;

для чего нужна строка until n in [1..nmax];
для проверки, не вышло ли число элементов за границу массива
(это на фиг не нужно)

и что значит
if (i mod 2 =0)and(a[i,j]<0)then ko:=ko+1;
если номер строки - чётный и элемент отрицательный, то загнём палец (включим счётчик)
if (j mod 2<>0)and(a[i,j]>0)then kp:=kp+1
если номер столбца нечётный и элемент положительный, то загнём палец на другой руке
1
20.12.2009, 00:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2009, 00:51
Помогаю со студенческими работами здесь

Если max матрицы равен сумме элементов первой строки, поменять местами первую строку с той, где находится max
Задана матрица. А (4,4). Если максимальный элемент матрицы равен сумме элементов первой строки, то...

В матрице поменять местами первую строку и строку, в которой находится первый нулевой элемент.
Поменять местами первую строку и строку, в которой находится первый нулевой элемент. Принять, что...

Поменять местами первую строку с первым столбцом
Дан двумерный массив размером n*n , заполненный целыми числами с клавиатуры. Поменять местами...

Поменять местами первую и вторую строку в текстовом файле
помогите с задачкой: поменять местами первую и вторую строку в текстовом файле.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru