Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachi_Po_Aip.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.64 Mб
Скачать

Int main()

{

for(int i=1; i<=15;++i)

{

for(int j=1;j<=15;++j)

cout <<setw(2)<<hex<<i*j<<" ";

cout << endl;

}

}

Дополнительные задачи по лабораторной работе №14.

Задача №14, с 21.

(8б) Написать программу подсчета количества пар элементов прямоугольной матрицы, удовлетворяющих условию Аij = - Аji. Вывести на экран эти пары и их индексы. Заполнение матрицы происходит случайным образом.

#include<iostream>

Int main ()

#define N 5

#define M 5

{

setlocale (LC_CTYPE, "Russian");

int a[N][M], i, j, t=0;

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

{

a[i][j]=rand()%21+(-10);

}

}

printf ("Полученнаяматрица:\n" );

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

printf (" %d ", a[i][j]);

printf ("\n");

}

printf ("\n");

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

{

if (a[i][j]==-a[j][i])

{

if (i>j)

{

printf (" a[%d][%d]=-a[%d][%d]\n", i, j, j, i);

printf (" Пара: %d %d \n",a[i][j], a[j][i]);

t=t+1;

}

}

}

}

printf ("Количество пар: %d", t);

if (t==0)

printf (" Таких элементов нет \n");

}

Задача №20, с. 22.

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

#include<iostream>

Int main ()

#define N 3

#define M 3

{

setlocale (LC_CTYPE, "Russian");

int a[N][M], i, j, min=100,k,n;

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

{

a[i][j]=rand()%21+(-10);

}

}

printf ("Полученнаяматрица:\n" );

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

printf (" %d ", a[i][j]);

printf ("\n");

}

printf ("\n");

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

{

if (a[i][j]<min)

{min=a[i][j];

k=i;

n=j;}

}

}

printf ("Min: %d ",min);

printf ("\n");

printf ("\n");

a[k][n]=a[N-1][M-1];

a[N-1][M-1]=min;

for (i=0; i<N; i++)

{

for (j=0; j<M; j++)

{

printf (" %d ", a[i][j]);

}

printf ("\n");

}

}

Задача (доп к 6 лабе)

8.Написать программу нахождения суммы первых n натуральных чисел, которые делятся на 5. С клавиатуры ввести n. На экран вывести эти натуральные числа и их сумму.

#include<iostream>

using namespace std;

#include <stdio.h>

void main (void)

{

int n,a,z,sum=0;

printf ("Vvedite n\n");

cin >>n;

a=0;

while(a<=n)

{

if(a%5==0)

{a=z;

cout << z<<endl;

sum=sum+z;

a++;

}

else

{a++;

}

}

cout<<sum;

}

  1. (6б) Написать программу размещения элементов заданного вектора в обратном порядке (без использования дополнительного массива). Массив заполняется пользователем с клавиатуры.

(9б) Пусть имеется упорядоченный по возрастанию массив А. Написать функцию, возвращающую номер элемента массива, имеющего заданное значение b или 0, если такого элемента нет. Использовать метод двоичного (бинарного) поиска: сравнить b со средним элементом массива; если числа равны, поиск завершается, если b меньше среднего элемента, то b надо искать в левой половине, а иначе – в правой; к выбранной половине применяется тот же алгоритм.

#include <iostream>

using namespace std;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]