Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
poa.doc
Скачиваний:
24
Добавлен:
15.03.2015
Размер:
1.02 Mб
Скачать

Лабораторная работа 3. Двумерные массивы

Вариант 1

  1. Заполнить матрицу произведениями соответствующих порядковых номеров ее элементов.

  2. Найти разность между суммами элементов, лежащих на главной и побочной диагоналях матрицы М (3x3).

Вариант 2

  1. Из матрицы Q (4x3) сформировать одномерный массив отрицательных чисел (просмотр по строкам).

  2. Дана матрица А (4x4). Расставить строки таким образом, чтобы элементы в первом столбце были упорядочены по убыванию.

Вариант 3

  1. Дан целочисленный массив В (3x5). Определить, сколько в нем пар соседних одинаковых элементов. Элементы считаются соседними, если их индексы в столбцах и/или в строках различаются не более, чем на единицу.

  2. Определить среднее арифметическое значение элементов матрицы А (3x3), лежащих на главной диагонали.

Вариант 4

  1. Дана вещественная матрица М (5x4). Преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.

  2. Дана целочисленная матрица В (5x3). Найти номера столбцов, элементы каждого из которых образуют возрастающую последовательность

Вариант 5

  1. Дана вещественная матрица А (4x3). Преобразовать матрицу: поэлементно вычесть последнюю строку из всех столбцов, кроме последнего.

  2. В данной целочисленной квадратной матрице размера n х n (n – некоторая константа) указать индексы всех элементов, имеющих наибольшее значение.

Вариант 6

  1. Транспонированием квадратной матрицы называется такое ее преобразование, при котором строки и столбцы меняются ролями. Дана квадратная матрица размера n х n. Получить транспонированную матрицу.

  2. Вычислить сумму элементов матрицы М (5x5), лежащих справа от побочной диагонали.

Вариант 7

  1. Определить, является ли данная квадратная матрица симметричной относительно своей главной диагонали.

  2. Последний отрицательный элемент каждого столбца матрицы заменить нулем.

Вариант 8

  1. Найти количество элементов в каждой строке матрицы А (4х5), больших среднего арифметического элементов данной строки.

  2. В каждом столбце матрицы В (5х4) сменить знак максимального по модулю элемента на противоположный.

Пример

  1. Вычислить сумму элементов матрицы М (3x3), лежащих справа от главной диагонали.

# include <iostream.h>

# include <conio.h>

void main(void)

{ float a[3][3];

int i,j;

float s=0;

clrscr();

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

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

{cout<<"a["<<i<<"]["<<j<<"]=";

cin>>a[i][j];

if (j>i) s+=a[i][j];}

cout<<s;

getche();

}

  1. Подсчитать число элементов матрицы Q (3x4), кратных трем.

# include <iostream.h>

# include <conio.h>

void main(void)

{ int a[3][4];

int i,j;

int s=0;

clrscr();

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

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

{cout<<"a["<<i<<"]["<<j<<"]=";

cin>>a[i][j];

if ((a[i][j]%3)==0) s++;}

cout<<s;

getche(); }

Лабораторная работа 4.Строки

  1. Задан массив строк, содержащих фамилию, имя и отчество через пробел. Создать три массива, содержащих отдельно фамилию, имя и отчество.

  2. Задана строка. Определить, каких букв больше, гласных или согласных.

  3. Заданы массив строк, содержащих фамилии студентов, и массив полученных ими оценок. Определить, какие студенты имеют оценку больше среднего балла, и сколько их.

  4. Заданы массив строк, содержащих фамилии студентов, и массив полученных ими оценок. Отсортировать студентов от самого успевающего к самому неуспевающему.

  5. Определить, является ли слово палиндромом (читается ли оно слева направо и справа налево одинаково. Например, слово "шалаш" – палиндром).

  6. Задан массив строк. Записать каждую строку наоборот.

  7. Задан массив строк. Проверить, все ли строки начинаются с согласных букв.

  8. Задан массив строк. Проверить, все ли строки заканчиваются гласными буквами.

Пример

Задана строка, состоящая из символов латинского алфавита. Определить частоту вхождения разных букв.

# include <iostream.h>

# include <conio.h>

# include <string.h>

# include <stdio.h>

void main(void)

{ char str[80], lat[]="qwertyuiopasdfghjklzxcvbnm";

int i, j, s[26];

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

s[i]=0;

clrscr();

cout<<"Введите строку\n";

gets(str);

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

for (j=0; j<=strlen(str)-1; j++)

if (lat[i]==str[j]) s[i]++;

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

cout<<lat[i]<<": "<<float (s[i])/strlen(str)<<"\n";

getche(); }

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