М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Программирование паскаль. проверить, все ли строки матрицы a(n×m) содержат хотя бы один отрицательный элемент, если не все, сообщить номер первой, где нет отрицательных элементов. без цикла for, только while или repeat из этого всего мне только нужен сам код(алгоритм) поиска первой строки(если она есть т.к. перед этим надо еще проверить не во всех ли строках содержатся отриц. элементов), где нет отрицательных элементов. ъ желательно написать только две процедуры( т.е. тут будет две процедуры, сначала которая проверяет на наличие отриц. элементов и выдает нам значение flag = true или false, а другая процедурa для нахождения номера первой строки без отриц элем., которая будет выполняться только в том случае, если flag = false ( к примеру)) можете предложить ваш вариант решения

👇
Ответ:
ffggshwheehejsj
ffggshwheehejsj
17.12.2022
Программа:
const
  n = 5;
  m = 5;
 
var
  a: array[1..n, 1..m] of integer;
  i, j: integer;
 
function check(i: integer): boolean;
var j: integer;
begin
  check := false;
  j := 0;
  repeat
    inc(j);
    if a[i, j] < 0 then
    begin
      check := true;
      exit;
    end;
  until j = m;
end;
 
function search: integer;
var i: integer;
begin
  search := 0;
  i := 0;
  repeat
    inc(i);
    if not(check(i)) then
    begin
      search := i;
      exit;
    end;
  until i = n;
end;
 
begin
  writeln('Введите матрицу ', n, 'x', m,': ');
  i := 0;
  repeat
    j := 0;
    inc(i);
    repeat
      inc(j);
      read(a[i, j]);
    until j = m;
  until i = n;
  writeln('ответ: ', search);
end.
Пример работы программы:
Введите матрицу 5x5:
3 4 2 3 -2
3 -5 -7 -2 1
8 2 5 4 -4
0 1 2 3 4
1 7 2 -5 2
ответ: 4
* Примечание: Если во всех строках есть отрицательные элементы, то ответ будет 0 (можно изменить в самой процедуре)
4,4(36 оценок)
Открыть все ответы
Ответ:
litoshikmari
litoshikmari
17.12.2022

#include <iostream>

#include <math.h>

using namespace std;


int main(){

int x1,y2,x2,y2, r1, r2;

cin >> x1 >> y1 >> endl; //вводим координаты первой точки

cin >> x2 >> y2 >> endl; //вводим координаты второй точки

r1 = sqrt(x1*x1 + y1*y1); //находим расстояние от первой

r2 = sqrt(x2*x2+y2*y2) //от второй

if (r1>r2){

cout << "Точка 1 ближе к началу координат";

}

else{

cout << "Точка 2 ближе к началу координат";

}

else if (r1=r2){

cout << "Эти точки равны"

}

return 0;

}

4,5(6 оценок)
Ответ:
В основе лежит формула определения расстояния между двумя точками в прямоугольной системе координат, при этом одна из точек совпадает с началом системы координат. В этом случае искомое расстояние определяется по формуле:
L= \sqrt{a_x^2+a_y^2}
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их.
Окончательно задача сводится к нахождению минимального из значений
a_x^2+a_y^2 по заданным координатам х и у.

var
  ax, ay, bx, by, rx, ry: real;

begin
  writeln('Введите координаты первой точки');
  readln(ax, ay);
  writeln('Введите координаты второй точки');
  readln(bx, by);
  rx := sqr(ax) + sqr(ay);
  ry := sqr(bx) + sqr(by);
  if rx < ry then writeln('Первая точка ближе')
  else
  if rx > ry then writeln('Вторая точка ближе')
  else writeln('Обе точки равноудалены')
end. 
4,4(79 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ