
Экранная форма:
Задание №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();
}