Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132

Все элементы матрицы, лежащие на главной диагонали разделить на количество нулевых элементов в четных столбцах

01.06.2011, 19:30. Показов 997. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все элементы матрицы X n,n лежащие на главной диагонали резделить на количество нулевых элементов в четный столбцах.


набросок программы... вроде всё верно но что то с whale немного запутался

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
program dira;
uses crt;
var i,j,n:integer;
    x:array [1..10,1..10] of real;
    s1,s2:real;
    sum:extended;
begin
write ('n=');
readln(n);
 for i:=1 to n do
   for j:=1 to n do begin
      write ('x(',i,',',j,')=');
        readln (x[i,j]);
   end;
    writeln ('massiv X');
    for i:=1 to n do begin
    for j:=1 to n do begin
      write (x[i,j]:5:1);
    end;
   writeln;
end;
s1:=0;
i:=2;
 while j<=N do begin
    for i:=1 to n do
    if x[i,j]>0 then begin
    sum:=sum+x[i,j];
    end;
{j:=;
i:=;
  while (j<=n) do begin
   while (i<=n) do begin
    if (((i mod 2)=1) and (x[i,j]>0)) then
     s1:=s1+x[i,j];
    inc(i);
   end;
   inc(j);
  end;}
 { for j:=1 to n do begin
   for i:=1 to n do begin
    if (((i mod 2)=1) and (x[i,j]>0)) then
     s1:=s1+x[i,j];
   end;
  end;  }
    writeln('massiv X');
    for i:=1 to n do begin
    for j:=1 to n do begin
      writeln (x[i,j]:5:1);
    end;
  end;
end;
end.
 
{s2:=0;
for j:=1 to n do begin
  for i:=1 to n do begin
    if (((i mod 2)=0) and (x[i,j]>0)) then s2:=s2+x[i,j];
end;end;}
 
 
 
 
 
 
 
 
{writeln;
writeln('s1=',s1:5:1,'  s2=',s2:5:1);
   for i:=1 to n do
    x[i,i]:=(s1+s2)/2;
 writeln ('¬*ббЁў • (Ї®б«Ґ §*¬Ґ*л)');
 for i:=1 to n do begin
  for j:=1 to n do begin
    write (x[i,j]:5:1);
  end;}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2011, 19:30
Ответы с готовыми решениями:

Все элементы матрицы X (n x n), лежащие выше второстепенной диагонали заменить количеством положительных элементов, лежащих на главной диагонали
Все элементы матрицы X (n x n), лежащие выше второстепенной диагонали заменить количеством положительных элементов, лежащих на главной...

Все элементы матрицы X (n x n), лежащие выше второстепенной диагонали заменить количеством положительных элементов, лежащих на главной диагонали
Все элементы матрицы X (n x n), лежащие выше второстепенной диагонали заменить количеством положительных элементов, лежащих на главной...

Напечатайте элементы матрицы, лежащие на ее главной диагонали, если все они отличны от элементов, принадлежащих побочных диагонали
Пусть задана символьная квадратная матрица размерности n. Напечатайте элементы матрицы, лежащие на ее главной диагонали, если все они...

14
К.О.
 Аватар для KaiTheCat
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
01.06.2011, 19:48
обязательно что ли с while делать?

Добавлено через 2 минуты
блин. А можно я не буду мучиться в этом коде: перепишу и все?
1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
01.06.2011, 19:50  [ТС]
Да обязательно требуют с whale

Добавлено через 28 секунд
главное что бы правельно работала)
0
К.О.
 Аватар для KaiTheCat
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
01.06.2011, 20:11
Нелюблю while=\ Это же идиотизм: требовать while в циклах для матриц. Читать противно, а пистаь тем более><
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
53
54
uses crt;
var
   a: array[1..100,1..100] of integer;
   i,j,n,m,k: byte;
begin
   clrscr;
   randomize;
   write('N: ');
   readln(n);
   i:=1;
   while i<=n do
      begin
         j:=1;
         while j<=n do
            begin
               a[i,j]:=random(101)-50;
               write(a[i,j]:4);
               inc(j);
            end;
         writeln;
         inc(i);
      end;
   writeln;
   j:=2;
   while j<=n do
      begin
         i:=1;
         while i<=n do
            begin
               if a[i,j]=0 then inc(k);
               inc(i);
            end;
         j:=j+2;
      end;
   i:=1;
   while i<=n  do
      begin
         a[i,i]:=a[i,i] div k;
         inc(i);
      end;
   i:=1;
   while i<=n do
      begin
         j:=1;
         while j<=n do 
            begin
               write(a[i,j]:4);
               inc(j);
            end;
         writeln;
         inc(i);
      end;
   readkey
end.

Не по теме:

Ну и быдлокодство. На кол этих преподов надо



Добавлено через 1 минуту

Не по теме:

Если у меня ошибки, мне лень "это" переписывать

1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
01.06.2011, 20:28  [ТС]
ошибка 200 ( деление на ноль)


странно программа запускаеться всё норм ввожу N -3 и выдаёт такое хотя пробывал и другие и тож самое ((
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
01.06.2011, 20:42
a[i,i]:=a[i,i] div k;
дык и правильно.Если нет нулевых элементов в чётных столбцах то ты на 0 и делишь.Поставь условие
Pascal
1
2
3
4
5
6
if k<>0 then 
begin
 делим
 выводим массив 
end
else writeln('Нету в чётных столбцах нулевых элементов');
1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
01.06.2011, 20:51  [ТС]
всё равно что то не то(( ему моя программа написаная нравилась ток с вайлом какая то там проблема а эту ещё не известно примет или нет(
0
К.О.
 Аватар для KaiTheCat
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
01.06.2011, 20:57
а нечего такие оригинальные задачи задавать
0
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
01.06.2011, 21:12  [ТС]
ахахахах))


шутка шутками а здавать надо((
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
01.06.2011, 21:20
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Чё не то то?
Подправленный код KaiTheCat
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
53
54
55
56
57
58
uses crt;
var
   a: array[1..50,1..50] of integer;
   i,j,n,m,k: byte;
begin
   clrscr;
   randomize;
   write('N: ');
   readln(n);
   i:=1;
   while i<=n do
      begin
         j:=1;
         while j<=n do
            begin
               a[i,j]:=random(101)-50;
               write(a[i,j]:4);
               inc(j);
            end;
         writeln;
         inc(i);
      end;
   writeln;
   j:=2;
   while j<=n do
      begin
         i:=1;
         while i<=n do
            begin
               if a[i,j]=0 then inc(k);
               inc(i);
            end;
         j:=j+2;
      end;
   if k<>0 then
   begin
   i:=1;
   while i<=n  do
      begin
         a[i,i]:=a[i,i] div k;
         inc(i);
      end;
   i:=1;
   while i<=n do
      begin
         j:=1;
         while j<=n do
            begin
               write(a[i,j]:4);
               inc(j);
            end;
         writeln;
         inc(i);
      end;
   end
   else writeln('Íåò íóëåâûõ ýëåìåíòîâ â ÷¸òíûõ ñòîëáöàõ.');
   readkey
end.
1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
19.06.2011, 00:39  [ТС]
а напишите пожалуйста такую же только без рандомайза
0
К.О.
 Аватар для KaiTheCat
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
19.06.2011, 00:45
Вместо 16-17 строк
readln(a[i,j])
1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
19.06.2011, 00:52  [ТС]
тогда она вообще не работает


я помню вообще вводил ввод вроде заново мне надо что бы в ручную всё вводилось там буквально немного что то изменял но щас не помню что
0
К.О.
 Аватар для KaiTheCat
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
19.06.2011, 00:58
Цитата Сообщение от pabel0071 Посмотреть сообщение
тогда она вообще не работает
c randomize работает? Значит и так должна работать

Или мне надо было еще и вот так написать?
Pascal
1
2
write('a[',i,',',j,'] = ');
readln(a[i,j])
1
5 / 5 / 1
Регистрация: 27.02.2011
Сообщений: 132
19.06.2011, 01:17  [ТС]
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
program pavel;
uses crt;
var
   a: array[1..100,1..100] of integer;
   i,j,n,m,k: byte;
begin
     write('N=');
     readln(N);
      for i:=1 to N do begin
        for j:=1 to N do begin
          write ('a(',i,',',j,')=');
            readln(a[i,j]);
        end;
        write(a[i,j]:9);
         writeln;
      end;
   writeln;
   j:=2;
   while j<=n do
      begin
         i:=1;
         while i<=n do
            begin
               if a[i,j]=0 then inc(k);
               inc(i);
            end;
         j:=j+2;
      end;
   if k<>0 then
   begin
   i:=1;
   while i<=n  do
      begin
         a[i,i]:=a[i,i] div k;
         inc(i);
      end;
   i:=1;
   while i<=n do
      begin
         j:=1;
         while j<=n do
            begin
               write(a[i,j]:4);
               inc(j);
            end;
         writeln;
         inc(i);
      end;
   end
   else writeln('ЌҐв *г«Ґўле н«Ґ¬Ґ*в®ў ў зсв*ле бв®«Ўж*е.');
   readkey
end.
а вот это же тоже верно правельно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2011, 01:17
Помогаю со студенческими работами здесь

Напечатать элементы матрицы, лежащие на ее главной диагонали, если все они отличны от элементов побочной
Пусть задана символьная квадратная матрица размерности n. На- печатайте элементы матрицы, лежащие на ее главной диагонали, если все они...

Все элементы матрицы X (n x n), лежащие на второстепенной диагонали заменить суммой элементов, стоящих в четных строках и имеющих дробную часть
Все элементы матрицы X (n x n), лежащие на второстепенной диагонали заменить суммой элементов, стоящих в четных строках и имеющих дробную...

Найти количество нулевых элементов матрицы, стоящих: выше главной диагонали; ниже главной диагонали
Дана квадратная вещественная матрица размерности n. Найти количество нулевых элементов, стоящих: выше главной диагонали; ниже главной...

Найти количество нулевых элементов матрицы, стоящих: выше главной диагонали; ниже главной диагонали
Дана квадратная вещественная матрица размерности n. Найти количество нулевых элементов, стоящих: выше главной диагонали; ниже главной...

Вычислить к!,где к-количество нулевых элементов в четных столбцах матрицы А
помогите пожалуйста решить..я чет сама написала программу..но ошибки выводит. :wall:.она в принципе несложная.вычислить к!,где к-количество...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru