Irinagarmonshikova
?>

Pascal даны два массива а и в. подсчитать сумму и количество элементов по каждой строке, предшествующих первому отрицательному элементу. из полученных значений сформировать вектора.

Информатика

Ответы

kagurkina

program raf105;

const

  n = 4;

var

  a,b: array[1..n,1..n] of integer;

  vkol1,vkol2,vsum1,vsum2: array[1..n] of integer;

  i,j,sum1,sum2,kol1,kol2: integer;

  x1,x2: boolean;

begin

  for i: =1 to n do

  begin

    x1: = false;

    x2: = false;

    kol1: = 0;

    kol2: = 0;

    sum1: = 0;

    sum2: = 0;

    for j: =1 to n do

    begin

      a[i,j]: = random(-9,9);

      b[i,j]: = random(-9,9);  

      if a[i,j] < 0

        then x1: = true;

      if b[i,j] < 0

        then x2: = true;

      if not(x1)

        then begin

          sum1: = sum1 + a[i,j];

          kol1: = kol1 + 1;

        end;

      if not(x2)

        then begin

          sum2: = sum2 + b[i,j];

          kol2: = kol2 + 1;

        end;

    end;

    vkol1[i]: = kol1;

    vkol2[i]: = kol2;

    vsum1[i]: = sum1;

    vsum2[i]: = sum2;

  end;

  writeln('массив a');

  for i: =1 to n do

  begin

    writeln;

    for j: =1 to n do

      write(a[i,j]: 3);

  end;

  writeln;

  writeln;

  writeln('массив b');

  for i: =1 to n do

    begin

    writeln;

    for j: =1 to n do

      write(b[i,j]: 3);

  end;

  writeln;

  writeln;

  write('вектор "количество по строкам a": ');

  for i: =1 to n do

    write(vkol1[i],' ');

  writeln;

    write('вектор "количество по строкам b": ');

  for i: =1 to n do

    write(vkol2[i],' ');

  writeln;

  write('вектор "сумма по строкам a": ');

  for i: =1 to n do

    write(vsum1[i],' ');

  writeln;

  write('вектор "сумма по строкам b": ');

  for i: =1 to n do

    write(vsum2[i],' ');

end.

pascalabc 3.4.2
Natali-0706

половцы

эсперементальная проверка

12.а

13а

борьба с космополитами

kuharchuks

<p>1. Системные программы</p>

<ul>

<li>Базовое системное программное обеспечение</li>

</ul>

<ol style="list-style-type: upper-roman;">

<li>Операционные системы</li>

<li>Операционные системы</li>

</ol>

<ul>

<li>Сервисное системное программное обеспечение</li>

</ul>

<ol style="list-style-type: upper-roman;">

<li>Программы проверки поверхност. диска</li>

<li>Дефрагментация диска</li>

<li>Антивирусные программы</li>

</ol>

<p>2. Прикладные программы</p>

<ul style="list-style-type: square;">

<li>Текстовые редакторы</li>

<li>Графические редакторы</li>

<li>Электронные таблицы</li>

<li>Системы управления базами данных</li>

</ul>

<p>3. Системы программирования</p>

<ul style="list-style-type: circle;">

<li>Turbo Pascal</li>

<li>Free Pascal</li>

<li>Visual Basics</li>

<li>C++</li>

</ul>

Объяснение:

доктайп и тэги html, head и body добавлять не стал, там и сам сможешь

ЕленаАнастасия315

#include <iostream>

#include <time.h>  // для time()

//функция сортировки

void sort(double** _base_mas, double** _copy_mas, int n, int m)

{

// копируем из базового в под запись

for (long long jjj = 0; jjj < long long(n) * m; jjj++)

 *(*(_copy_mas + jjj / n) + jjj % n) = *(*(_base_mas + jjj / n) + jjj % n);

// сортируем

for (long long kkk = 0; kkk < long long(n) * m; kkk++)

 for (long long jjj = 1; jjj < long long(n) * m; jjj++) {

  double& first = *(*(_copy_mas + (jjj - 1) / n) + (jjj - 1) % n);

  double& second = *(*(_copy_mas + jjj / n) + jjj % n);

  if (first < second) std::swap(first, second);

 }

// конструкция избежать переполнение на байтовом уровне (из 4 в 8)

}

int main() {

srand(time(0));

int n;

int m;

std::cout << "Enter length: ";

std::cin >> n;

std::cout << "Enter height: ";

std::cin >> m;

double** base_mas = new double* [m]; // исходный массив

double** copy_mas = new double* [m]; // массив под запись

std::cout << "befor:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 base_mas[jjj] = new double[n];

 copy_mas[jjj] = new double[n];

 // заполняем исходный массив случайными числами и выводим в консоль

 for (int kkk = 0; kkk < n; kkk++)

 {

  base_mas[jjj][kkk] = rand() % 101;

  std::cout << base_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// сортируем

sort(base_mas, copy_mas, n, m);

// выводим результат

std::cout<<"\nafter:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 for (int kkk = 0; kkk < n; kkk++) {

  std::cout << copy_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// овобождаем память (хотя т.к конец программы делать не обязательно)

for (int jjj = 0; jjj < m; jjj++) {

 delete[] base_mas[jjj];

 delete[] copy_mas[jjj];

}

delete[] base_mas;

delete[] copy_mas;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Pascal даны два массива а и в. подсчитать сумму и количество элементов по каждой строке, предшествующих первому отрицательному элементу. из полученных значений сформировать вектора.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Aleksandrovich_Mitoyan1138
Дружинин
olimov9
shoko-2379
makscska22879
nagas
Динков
antonkovalev89
juliaipatova1739
ehrik-ch
mashumi2170
Tatyana_Minullina
ВасилийКлимова1695
Ka-shop2791
art-03857