Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры.docx
Скачиваний:
71
Добавлен:
10.01.2016
Размер:
297.09 Кб
Скачать
  1. Указатели. Инициализация. Операции с указателями.

  2. Указатель -являются объектом(переменной), хранящей адресс другого объекта.

  3. Для обращению к объекту, используется оператор *, называемый разыменованием.

  4. Пример:

  5. {int *c; int d;

  6. d=45;

  7. c=&d;

  8. cout<<”адрес :”<<c<<endl;

  9. cout<<”значение по адресу С:”<<*c<<endl;

  10. cout<<”значение d:”<<d<<endl;

  1. Указатели на массивы.

  2. Int v[]={1,2,3,4}; int *p1=v;

  3. Int *p2=&v[0]; //указатель на первый элемент

  4. Int *p3=&v[4]; //указатель на элемент следующий за последним

  1. #include “stdaf.h”

  2. #include <iostream>

  3. Using namespace std;

  4. Double summa (double array [], int n)

  5. {

  6. Double s=0;

  7. For(int i=0;i<n;i++)

  8. S+-array [i];

  9. Return 0;

  10. }

  11. Int main(void);

  12. {

  13. Double v[10]={1,2,3,4,5,6};

  14. Cout<<summa(v,10)<<endl;// весь массив

  15. Cout<<summa(v+5,5)<< endl; //последние 5 эл

  1. Оператор new- выделяет память, для размещения новых данных.

  2. A=new float[n];

  3. Оператор delete []; //очищает память матрицы.

  1. Статический:

  2. {double mas [100], k=0;

  3. Int n;

  4. Cout<<”vvedite koll ellementov”;

  5. Cin>>n;

  6. Cout<<”vvedite massiv”;

  7. For(int i=0;i<n;i++)

  8. Cin>>mas[i];

  9. For(int i=0;i<n;i++)

  10. If(mas[i]<0)

  11. K=k+mas[i];

  12. Cout<<”cymma отрицательных эл”<<k<<endl;

  13. Динамический:

  14. {

  15. setlocale(LC_ALL, "");

  16. double *mas, k = 0;

  17. int n;

  18. cout << "Введите количество элементов массива: ";

  19. cin >> n;

  20. mas = new double[n];

  21. cout << "Введите массив: ";

  22. for (int i = 0; i < n; i++)

  23. cin >> mas[i];

  24. for (int i = 0; i < n; i++)

  25. if (mas[i] < 0)

  26. k = k + mas[i];

  27. cout << "Сумма отрицательных элементов: " << k << endl;

  1. 1 способ

  2. {

  3. setlocale(LC_ALL, "");

  4. int i, n;

  5. float *a, s;

  6. cout << "n:";

  7. cin >> n;

  8. a = new float[n];

  9. cout << "vvedite massiv A:";

  10. for (int i = 0; i < n; i++)

  11. cin >> a[i];

  12. for (s = 0, i = 0; i < n; i++)

  13. s += a[i];

  14. cout << "s:" << s;

  15. delete[]a;

  16. system("pause");

  17. return 0;

  18. }

  19. 2 способ

  20. int n, m;

  21. cout << "Введите количество строк матрицы: ";

  22. cin >> m;

  23. cout << "Введите количество столбцов матрицы: ";

  24. cin >> n;

  25. //Создание массива

  26. int **mas = new int *[n];

  27. for (int i = 0; i < n; i++)

  28. mas[i] = new int[m];

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

  30. for (int i = 0; i < n; i++){

  31. cout << "Введите " << i + 1 << " строку массива: ";

  32. for (int j = 0; j < m; j++)

  33. cin >> mas[i][j];

  1. int n, m;

  2. cout << "Введите количество строк матрицы: ";

  3. cin >> m;

  4. cout << "Введите количество столбцов матрицы: ";

  5. cin >> n;

  6. //Создание массива

  7. int **mas = new int *[n];

  8. for (int i = 0; i < n; i++)

  9. mas[i] = new int[m];

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

  11. for (int i = 0; i < n; i++){

  12. cout << "Введите " << i + 1 << " строку массива: ";

  13. for (int j = 0; j < m; j++)

  14. cin >> mas[i][j];

  15. }

  16. cout << endl;

  17. //Вывод массива

  18. for (int i = 0; i < n; i++){

  19. cout << "Строка массива " << i + 1 << ": ";

  20. for (int j = 0; j < m; j++)

  21. cout << fixed << setw(3) << mas[i][j] << " ";

  22. cout << endl;

  23. }

  24. cout << endl;

  25. //Задание №1

  26. int k, sym = 0;

  27. //Считает сколько строк без 0

  28. for (int i = 0; i < n; i++){

  29. k = 0;

  30. for (int j = 0; j < m; j++)

  31. if (mas[i][j] != 0)

  32. k++;

  33. if (k == n)

  34. sym++;

  35. }

  36. cout << "Количество строк без 0:" << sym << endl;

  1. void arrayshow(int**A1, int N1, int M1);

  2. int _tmain(int argc, _TCHAR* argv[])

  3. {

  4. setlocale(LC_ALL, "");

  5. cout << endl;

  6. for (int i1 = 0; i1 < N1;i1++)

  7. for (int j1 = 0; j1 < M1; j1++){

  8. if (!(j1%M1))

  9. cout << endl;

  10. cout << A1[i1][j1] << "\t";

  11. }

  12. return 0;

  13. }

Соседние файлы в предмете Программирование на C++