Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРРиТ / Вариант 6 контрлная №1.doc
Скачиваний:
17
Добавлен:
01.04.2014
Размер:
207.36 Кб
Скачать

Экранная форма:

Задание №4. Обработка одномерных массивов

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

Программа

#include <conio.h>

#include <iostream>

#include <iomanip>

#include <stdio.h>

using namespace std;

int main()

{

int a[20], n, i, pos1, pos2, s = 0;

// Вводим N <=20

cout << "\t Input N (<=20) "; cin >> n;

// Вводим элементы массива

cout <<"\n\t Massiv A" << endl;

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

cout << "\t a[ " << i+1 << " ] = "; cin >> a[i]; }

// Выводим наш массив

cout <<"\n a[n]=" << endl;

for(i = 0; i < n; i++) printf(" %d ", a[i]);

// Выполняем необходимые вычисления

i=0; while (a[i] >= 0) i++;

pos1=i+1; i++; while (a[i] >= 0) i++; pos2=i-1;

for(i = pos1; i <= pos2; i++) s+=a[i];

// Выводим полученный результат

cout << "\n Summa ot pos " << pos1 << " do pos " << pos2+2 << " ravna : " << s;

cout << "\n Press any key ... " << endl;

getch();

}

Экранная форма:

Задание №5. Обработка двухмерных динамических массивов. Функции пользователя

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.

Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных. Найти минимальный элемент и поменять его с последним элементом.

Программа

#include <iostream>

Using namespace std;

#include <conio.h>

// Описываем функцию обработки массива

Int Fun_Mas_Change(int n, int m, int **mas)

{

int i, j, min=mas[0][0], p1=0, p2=0;

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

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

if(mas[i][j] < min){

min=mas[i][j];

p1=i; p2=j;

}

mas[p1][p2]=mas[n-1][m-1]; mas[n-1][m-1]=min;

cout <<"\n Matrix (after changes) :" << endl;

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

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

cout << "\t" << mas[i][j];

cout << endl;

}

}

int main ()

{

int **a, i, j, n, m;

// Вводим размерность массива

cout << "\t Input N, M : ";

cin >> n >> m;

// Резервируем под данный массив память

a = new int*[n];

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

a[i] = new int[m];

// Вводим массив

cout <<"\n Input Massiv" << endl;

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

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

cout << "\t mas[" << i+1 << "][" << j+1 << "] = ";

cin >> a[i][j];

}

// Выводим исходный массив

cout <<"\n Matrix :" << endl;

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

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

cout << "\t" << a[i][j];

cout << endl;

}

// Выполняем функцию обработки массива

Fun_Mas_Change(n, m, a);

delete []a;

cout << "\n\t Delete !" << endl;

cout << " Press any key ... " << endl;

getch();

}

Соседние файлы в папке СРРиТ