Работа над массивами с помощью языка С++

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 21.06.2009
Размер файла 97,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Задание 1. Дан двумерный массив размерностью 5x6, заполненный целыми числами, введёнными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.

Входные данные:

matr[5][6] - двумерный массив.

Выходные данные:

mas[6] - одномерный массив.

Текст программы:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define N 5

#define M 6

void main(void)

{

int matr[N][M];

int mas[M];

int i,j;

do{

clrscr();

printf("Введите двумерный массив \n");

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

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

{

scanf("%d",&matr[i][j]);

}

printf("\n двумерный массив:\n");

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

{

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

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

printf("\n");

}

printf("\n массив наибольших по модулю элементов:\n");

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

{

mas[j]=matr[0][j];

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

if(abs(matr[i][j])>abs(mas[j])) mas[j]=matr[i][j];

printf("%7d",mas[j]);

}

printf("\n\n1 - повторить");

}while(getch()=='1');

}

Блок-схема:

Тестирование:

двумерный массив:

1 -3 5 -7 0 0

0 5 8 -9 3 0

3 4 -8 4 3 0

-4 3 0 7 3 0

0 3 3 7 1 0

массив наибольших по модулю элементов:

-4 5 8 -9 3 0

Задание 2. Дан двумерный массив n * m. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.

Входные данные:

matr[n][m] - двумерный массив,

n, m - размер массива.

s[60] - строка.

Текст программы:

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main(void)

{

int i,j;

int n,m;

int matr[10][10];

int pol,otr;

char s[60];

do{

strcpy(s,0);

clrscr();

printf("Введите размер массива (n*m)\n");

scanf("%d %d",&n,&m);

printf("Введите массив\n");

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

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

scanf("%d",&matr[i][j]);

printf("\nОпределить, есть ли в данном массиве столбец,\

в котором\nравное количество положительных и отрицательных элементов.\n");

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

{

otr=0;

pol=0;

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

{

if(matr[i][j]<0) ++otr;

if(matr[i][j]>0) ++pol;

}

if(pol==otr) strcat(s," есть");

else strcat(s," нет");

}

printf("\n");

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

{

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

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

printf("\n");

}

printf("%s",s);

printf("\n\n1 - повторить");

}while(getch()=='1');

}

Блок-схема:

Тестирование:

Определить, есть ли в данном массиве столбец, в котором

равное количество положительных и отрицательных элементов.

0 1 -2 3 4

0 2 -4 5 -8

0 0 9 -7 0

0 -3 4 0 0

есть нет есть нет есть

Задание 3. Дан двумерный массив размерностью 8x7.

а). Удалить все столбцы, а которых первый элемент больше последнего.

б). Заменить все элементы первых трёх столбцов на их квадраты.

Входные данные:

matr[8][7] - двумерный массив.

Функции:

Print - вывод массив на экран.

Текст программы:

#include <stdio.h>

#include <conio.h>

#define N 8

#define M 7

void Print(int matr[][M],int m)

{

int i,j;

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

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

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

printf("\n");

}

}

void main(void)

{

int m;

int i,j;

int matr[N][M];

int r,t;

do{

m=M;

clrscr();

printf("Введите массив\n");

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

for(j=0;j<m;j++) {

scanf("%d",&matr[i][j]);

}

clrscr();

printf(" массив\n");

Print(matr,m);

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

{

if(matr[0][j]>matr[N-1][j])

{

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

for(r=j;r<m-1;r++)

matr[t][r]=matr[t][r+1];

--m;

--j;

}

}

printf("а) .Удалить все столбцы, а которых первый элемент больше последнего.\n");

Print(matr,m);

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

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

{

matr[i][j]*=matr[i][j];

}

printf("б). Заменить все элементы первых трёх столбцов на их квадраты.\n");

Print(matr,m);

printf("\n\n1 - повторить");

}while(getch()=='1');

}

Блок-схема:

Функция Print

Тестирование:

массив

1 2 3 4 5 6 7

-8 0 5 5 4 4 5

4 5 5 5 5 5 5

5 5 5 -7 5 5 5

9 4 4 5 0 5 3

5 6 3 4 5 4 5

6 7 8 9 0 4 8

-4 5 9 0 9 9 0

а) .Удалить все столбцы, в которых первый элемент больше последнего.

2 3 5 6

0 5 4 4

5 5 5 5

5 5 5 5

4 4 0 5

6 3 5 4

7 8 0 4

5 9 9 9

б). Заменить все элементы первых трёх столбцов на их квадраты.

4 9 25 6

0 25 16 4

25 25 25 5

25 25 25 5

16 16 0 5

36 9 25 4

49 64 0 4

25 81 81 9


Подобные документы

  • Выведение значения элементов массива, которые удовлетворяют неравенству. Подсчет количества отрицательных элементов массива. Изменение исходного массива. Тестирование программы. Проверка её работоспособности. Реакция программы на сообщение об ошибке.

    лабораторная работа [1,3 M], добавлен 23.11.2014

  • Изучение определения, описания и вызова функций, указателей и ссылок на них. Написание функции умножения произвольного столбца двумерного массива на const. Умножение 2 столбцов массива на константы. Составление блок-схемы алгоритма и текста программы.

    лабораторная работа [182,3 K], добавлен 09.01.2012

  • Подсчет количества отрицательных элементов массива. Изменение исходного массива перемещением всех его положительных элементов в начало с исходным порядком их следования. Вывод на дисплей количества перемещенных элементов. Алгоритм и код программы.

    лабораторная работа [946,5 K], добавлен 23.11.2014

  • Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.

    практическая работа [146,3 K], добавлен 23.01.2015

  • Программа обработки одномерного массива средствами Visual Basic for Application (VBA) на предмет преобразования, печати, удаления, сортировки, поиска сумм, положительных, чётных элементов, их кратности и дополнения другими элементами и значениями данных.

    контрольная работа [12,3 K], добавлен 07.10.2012

  • Специфические типы массивов. Составление программы по вычислению произведения матриц. Нахождение наибольшего элемента в массиве. Вывод номера строки и столбца, в котором он содержится, на экран. Создание массива, заполнение его рандомными числами.

    отчет по практике [309,0 K], добавлен 07.01.2014

  • Программы линейной структуры. Составление программы, которая по заданному номеру и значению соответствующего элемента вычисляет значение всех остальных элементов треугольника. Формулирование одномерного массива с помощью генератора случайных чисел.

    отчет по практике [1,2 M], добавлен 01.12.2012

  • Разработка программы замены столбца с минимальным элементом на последний столбец, написанной на языке С++. Результаты откладки и тестирования программы. Алгоритм, входные и выходные параметры и логика работы программы, ее функциональное назначение.

    курсовая работа [155,2 K], добавлен 25.03.2012

  • Виды информационно-вычислительных сетей: локальные, городские, глобальные; их классификация. Разработка программы на языке программирования С: формирование одномерного массива путем замены нулевых элементов на среднеарифметическое, а пробелов - на слова.

    практическая работа [37,5 K], добавлен 20.05.2012

  • Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.

    контрольная работа [1,0 M], добавлен 30.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.