Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оперативная память состоит из пронумерованных ячеек. Каждая переменная занимает одну или несколько последовательных ячеек




ЛЕКЦИЯ 10.

Тема: Массивы и указатели

Вопросы
1. Ввод-вывод двумерного массива.
2. Инициализация массива случайными числами.
3. Обработка матриц.
4. Указатели.
5. Динамическое выделение памяти.
6. Динамические массивы.
7. Массивы – параметры.

Ввод-вывод элементов двумерного массива

Пример10.1.1. Ввод-вывод элементов двумерного массива (в стиле С).
#include <iostream>

#include <stdio.h>
int main()
{setlocale(LC_ALL,".1251");
const int nm=20; //макс размер матрицы

int AB [nm][nm],m,n;
printf("Размерность матрицы?\n");
scanf("%d%d",&n,&m);
printf("Элементы матрицы?\n");
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
scanf("%d",&AB[i][j]);

//вывод матрицы
printf ("Введенная матрица\n");
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
printf("%5d", AB[i][j]);
printf("\n");
}
return 0;

}

Пример 10.1.2. Ввод-вывод элементов двумерного массива (в стиле С++)
#include <iostream>
int main()
{setlocale(LC_ALL,".1251");
const int nm=20; //макс размер матрицы

int AB [nm][nm],m,n;
cout << "Размерность матрицы?" << endl;
cin >> n >> m;
cout << "Элементы матрицы?\n";
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
cin >> AB[i][j];
//вывод матрицы
cout << "Введенная матрица" <<endl;
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
cout << AB[i][j] << " ";
cout << endl;
}
return 0;

}

Генерация элементов матрицы с помощью датчика случайных чисел

Пример 10.2.
/*генерация элементов матрицы с помощью датчика случайных чисел*/

#include <time.h>
int main()

srand(time(0));

for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
AB[i][j] = rand()%100;

Обработка матриц

Пример 10.3.

int main()

/*сумма элементов верхнего правого треугольника матрицы*/

{

const int nmax = 10; /*максимальный размер матрицы*/

float a[nmax][nmax];

int n,i,j;

float sum=0.0;

cout << ”введите размерность\n”;

cin >> n;

cout <<

”введите матрицу по строкам\n”;

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

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

cin >> a[i][j];

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

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

sum = sum + a[i][j];

cout << ”sum= ” << sum << endl;

return 0;

}

Пример 10.4. Поcтроение треугольника Паcкаля

 

вид 1вид 2

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1


//треугольник Паскаля
#include <stdio.h>
int main()
{
const int nmax=10;
int n,i,j;
int Ma[nmax][nmax];
printf("Dimension? ");
scanf("%d",&n);

Ma[0][0]=1;
for (i=1; i<n; i++)
{
Ma[i][0]=1;
Ma[i][i]=1;
for (j=1; j<i; j++)
Ma[i][j]=Ma[i-1][j-1]+Ma[i-1][j];
}
printf("Result\n"); //вид2

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

{

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

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

printf("\n");

}

return 0;

}

Упр. Выведите результат в виде1.

Указатели

Одна из наиболее мощных возможностей языка С++ - это непосредственный доступ к памяти при помощи указателей.

Указатель – это переменная, которая содержит адрес другой переменной (адрес области в оперативной памяти).

Переменная Х (int X=25;) занимает 4 байта (например 102-105). Адресом переменной Х является адрес ее первого байта, в данном случае 102, который можно будет присвоить указателю.

Формат описания указателей:

тип *имя [ = инициализатор ];

int Х=25, *px;

Х – переменная типа int,

px – указатель на переменную типа int.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 317; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.