• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задачи с Паскалем

  • Автор темы Автор темы NikitaX
  • Дата начала Дата начала

NikitaX

Ученик
Регистрация
4 Июн 2013
Сообщения
2
Реакции
0
Баллы
0
Задачи с Паскалем

Для заданной матрицы размером 8x8 найти:
1. Такие k, что k-я строка матрицы совпадает с k-м столбцом.
2. Найти сумму элементов в тех строках, которые содержат хотя бы один отрица*тельный элемент.
 
Для заданной матрицы размером 8x8 найти:
1. Такие k, что k-я строка матрицы совпадает с k-м столбцом.
2. Найти сумму элементов в тех строках, которые содержат хотя бы один отрица*тельный элемент.
Без проблем:
Код:
Var
 A:Array[1..8, 1..8] of Integer;
 i,j,k:byte;
 Sum:Integer;
 b:boolean;
Begin
 For i:=1 to 8 do
  For j:=1 to 8 do
   begin
    Write('A[',i,',',j,']= ');
    Readln(A[i,j]);
   end;
 Writeln;

 For i:=1 to 8 do
  begin
   for j:=1 to 8 do write(A[i,j]:4);
   writeln;
  end;
 Writeln;
 Write('k= ');
 For k:=1 to 8 do
  begin
   b:=true;
   for i:=1 to 8 do
    if A[k,i]<>A[i,k] then b:=false;
   If b then Write(k:2);
  end;
 Writeln;
 Writeln;
 For i:=1 to 8 do
  begin
   b:=false;
   Sum:=0;
   for j:=1 to 8 do
    if A[i,j]<0 then b:=true;
   if b then
    begin
     for j:=1 to 8 do Inc(Sum,A[i,j]);
     writeln('i= ',i,'  Sum= ',Sum);
    end;
   end;
 Readln
End.
 
1. В одномерном массиве, состоящем из п целочисленных элементов, вычислить:

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



2. Дана целочисленная квадратная матрица. Определить:


Минимум среди сумм модулей элементов диагоналей, параллельных побоч­ной диагонали матрицы.


Спасибо за первую задачу


[FONT=&quot][/FONT]

[FONT=&quot][/FONT]

[FONT=&quot][/FONT]
 
1. В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает единицу, а потом — все остальные.
Элементы целочисленного массива не могут иметь ни целой, ни дробной частей.
2. Дана целочисленная квадратная матрица.
Определить: Минимум среди сумм модулей элементов диагоналей, параллельных побоч­ной диагонали матрицы.
Пожалуйста:
Код:
Const
 N=9;
Var
 A:Array[1..N,1..N] of Integer;
 D:Array[1..2*N-2] of Word;
 i,j,k:Byte;
 Min:Word;
Begin
 Randomize;
 Writeln('Initial matrix:');
 For i:=1 to N do
  begin
   for j:=1 to N do
    begin
     A[i,j]:=-10+Random(20);
     write(A[i,j]:4);
    end;
   Writeln;
  end;
 Writeln;
 Writeln('Array of sums:');
 For k:=1 to N*2-2 do D[k]:=0;
 k:=0;
 For j:=1 to N-1 do
  begin
   Inc(k);
   for i:=1 to j do D[k]:=D[k]+Abs(A[i,1-i+j]);
  end;
 For j:=2 to N do
  begin
   Inc(k);
   for i:=N downto j do D[k]:=D[k]+Abs(A[i,N-i+j]);
  end;
 For k:=1 to 2*N-2 do write(D[k]:4);
 Writeln;
 Writeln;
 Min:=D[1];
 For k:=2 to 2*N-2 do
  If D[k]<Min then Min:=D[k];
 Writeln('Minimal: ',Min);
 Readln
End.
 
Назад
Сверху