Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 7
1

Найти номера строк матрицы, все элементы которых — нули

21.08.2010, 02:11. Показов 4250. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Есть 2 задачи по одномерным массивам, 1 - по двумерному. Помогите пожалуйста решить.
1. Даны действительные числа a1, a2,..., a20. Получить a20,a11,a19,a10,...,a10,a1.
2. Даны действительные числа a1, a2,..., a30. Получить min(a1a16, a2a17,..., a15a30).
3. Дана целочисленная квадратная матрица порядка n. Найти номера строк, все элементы которых - нули.
Заранее спасибо.

Добавлено через 48 минут
С первой вроде бы разобрался, прога полностью рабочая. Кому надо, если...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program pr5;
uses crt;
var a:array[1..20] of real;
i,n:integer;
begin
randomize;
for i:=1 to 20 do
a[i]:=random(100);
clrscr;
writeln('Исходный массив:');
for i:=1 to 20 do
write(a[i]:0:0,' ');
writeln;
writeln;
writeln('Преобразованный массив:');
for i:=20 downto 10 do begin
write(a[i]:0:0,' ');
write(a[i-9]:0:0,' ');
end;
writeln;
readln;
end.
2 другие остаются в силе, помогите их решить.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2010, 02:11
Ответы с готовыми решениями:

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

Найти номера строк матрицы, все элементы которых парные
Дан массив А . Найти номера строк, все элементы которых парные. вот что получилось program...

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

Найдите номера строк матрицы, все элементы которых четны
Всех приветствую! Помогите пожалуйста с заданием. Дана целочисленная квадратная матрица порядка...

12
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
21.08.2010, 02:29 2
Цитата Сообщение от auto_san4ez Посмотреть сообщение
21.readln;
Его ж можно убрать.
И "n" вроде не нужен))))
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
21.08.2010, 02:32 3
Цитата Сообщение от Сэм Посмотреть сообщение
Его ж можно убрать.
Зачем ?
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
21.08.2010, 02:35 4
Я бы скопировал ту ошибку которую он выдает, да получится абра-кадабра)))
"Непредвиденное исключение ........"
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
21.08.2010, 02:48 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от auto_san4ez Посмотреть сообщение
Найти номера строк, все элементы которых - нули
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
uses
  Crt;
  
const
  N = 3;
  M = 3;
 
var
  a: array [1..N, 1..M] of integer;
  i,j: integer;
begin
  Randomize;
  ClrScr;
  WriteLn('Array:');
  for i := 1 to N do
  begin
    for j := 1 to M do
    begin
      a[i, j] := Random(8) - 4;
      Write(a[i, j]:3, ' ');
    end;
    WriteLn;
  end;
  WriteLn('Result:');
  for i := 1 to N do
  begin
    for j := 1 to M do
      if a[i, j] <> 0 then
        break;
    if a[i, j] = 0 then
      Write(i, ' ');
  end;
  ReadLn;
end.
Добавлено через 2 минуты
Цитата Сообщение от Сэм Посмотреть сообщение
Я бы скопировал ту ошибку которую он выдает, да получится абра-кадабра)))
"Непредвиденное исключение ........"
Если бы ты работал в чем-то отличном от Pascal ABC, то наверняка бы знал для чего добавляют ReadLn в конце и из-за чего у тебя вылетает "Непредвиденное исключение EAccessViolation.".
2
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 7
21.08.2010, 02:48  [ТС] 6
Цитата Сообщение от Сэм Посмотреть сообщение
И "n" вроде не нужен))))
"n" не нужен, согласен. Просто на тот момент пробовал без "рандомайза", когда еще было "for i:=1 to n", поэтому и не усмотрел и "n" осталась.
0
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
21.08.2010, 02:53 7
Цитата Сообщение от Inadequate Посмотреть сообщение
для чего добавляют ReadLn в конце
Просвети)))
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
21.08.2010, 02:59 8
Сэм, ReadLn в конце используется для того, чтобы консоль отработав сразу же не закрылась, а ожидала от пользователя нажатия на Enter. А ошибка у тебя выскакивает именно потому что ты закрываешь окно, не нажав на Enter.
1
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
21.08.2010, 03:02 9
Благодарю))))
Еще вопрос , а это
Pascal
1
2
3
4
for i:=20 downto 10 do begin
write(a[i]:0:0,' ');
write(a[i-9]:0:0,' ');
end;
Мне не понятен этот момент, я делал по другому (я пока что перешел на 2 курс, так что не обессудьте).
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
21.08.2010, 03:07 10
Цитата Сообщение от auto_san4ez Посмотреть сообщение
Получить min(a1a16, a2a17,..., a15a30)
В этой задаче нужны пояснения. Найти минимальное произведение среди определенных пар тебе нужно ?

Добавлено через 2 минуты
Цитата Сообщение от Сэм Посмотреть сообщение
Мне не понятен этот момент, я делал по другому
А что именно тебе тут непонятно ? В том что ты сделал иначе ничего плохого нет.
1
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 7
21.08.2010, 03:08  [ТС] 11
Цитата Сообщение от Сэм Посмотреть сообщение
Мне не понятен этот момент, я делал по другому (я пока что перешел на 2 курс, так что не обессудьте).
Ну, он сначала выводит на экран а[20], потом a[20-9=11], спускается на 1 вниз, выводит a[19], затем a[19-9=10], и т.д., пока не выведет а[10],a[1].

Цитата Сообщение от Inadequate Посмотреть сообщение
В этой задаче нужны пояснения. Найти минимальное произведение среди определенных пар тебе нужно ?
Да.
1
Студент
119 / 114 / 16
Регистрация: 14.08.2010
Сообщений: 673
21.08.2010, 03:11 12
Цитата Сообщение от Inadequate Посмотреть сообщение
А что именно тебе тут непонятно ? В том что ты сделал иначе ничего плохого нет.
Нет, не в этом дело..... Дело в том, что не понятна данная операция.)

Добавлено через 1 минуту
Цитата Сообщение от auto_san4ez Посмотреть сообщение
Ну, он сначала выводит на экран а[20], потом a[20-9=11], спускается на 1 вниз, выводит a[19], затем a[19-9=10], и т.д., пока не выведет а[10],a[1].
СПАСИБО ВСЕМ!)))
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
21.08.2010, 03:29 13
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от auto_san4ez Посмотреть сообщение
Даны действительные числа a1, a2,..., a30. Получить min(a1a16, a2a17,..., a15a30).
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
uses
  Crt;
var
  a: array [1..30] of integer;
  i,min,tmp: integer;
begin
  Randomize;
  ClrScr;
  WriteLn('Array:');
  for i := 1 to 30 do
  begin
    a[i] := Random(8) - 4;
    Write(a[i], ' ');
  end;
  WriteLn(#10, '------');
  min := 1;
  for i := 1 to 15 do
  begin
    if (i > 1) and (a[i] * a[15 + i] < a[min] * a[15 + min]) then
      min := i;
    WriteLn('a[', i, '] * a[', 15 + i, '] = ', a[i] * a[15 + i]);
  end;
  WriteLn('------', #10, 'Min - a[', min, '] * a[', 15 + min, ']');
  ReadLn;
end.
Добавлено через 4 минуты
Цитата Сообщение от Сэм Посмотреть сообщение
Дело в том, что не понятна данная операция
Ну тут все по встроенному хэлпу можно было посмотреть и разобрать непонятные моменты
Цитата Сообщение от Встроенный хэлп
Оператор цикла for имеет одну из двух форм:
Pascal
1
2
for переменная:=начальное значение to конечное значение do
  оператор
или
Pascal
1
2
for переменная:=начальное значение downto конечное значение do
  оператор
Цитата Сообщение от Встроенный хэлп
Составной оператор предназначен для объединения нескольких операторов в один. Он имеет вид:
Pascal
1
2
3
begin
  операторы
end
Операторы отделяются один от другого символом ";". Служебные слова begin и end, окаймляющие операторы, называются операторными скобками.
Например:
Pascal
1
2
3
4
5
6
s:=0; p:=1;
for i:=1 to 10 do
begin
  p:=p*i;
  s:=s+p
end
Перед end также может ставиться ";". В этом случае считается, что последним оператором перед end является пустой оператор, не выполняющий никаких действий.
2
21.08.2010, 03:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.08.2010, 03:29
Помогаю со студенческими работами здесь

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

Найти номера строк матрицы, все элементы которых - нули
приложение 5 y=(1-e &quot;в степени -ab&quot;) x sin(4По) Приложение 6 Известно, что из 4х чисел одно...

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

Дана целочисленная квадратная матрица размером n*n, найти номера строк, все элементы которых – нули
по теме «Двумерные массивы» помогите написать программу: дана целочисленная квадратная матрица...

Найти номера строк матрицы, все элементы которых четные
1 Напишите программу , решающую следующую задачу:дана целочисленная матрица порядка n*m. Найти...

Найти номера строк матрицы, все элементы которых больше 10
Дана действительная матрица A(n*n). Найти номера строк, все элементы которых больше 10.


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

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