Форум программистов, компьютерный форум CyberForum.ru

Указатели - в чем суть? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ char массив в int массив http://www.cyberforum.ru/cpp-beginners/thread195512.html
имеется массив типа char во второй строке идет последовательность чисел через пробел, нужно вставить эти числа в массив типа int.
C++ функция цвета если ли такая функция,куда если передать текст выводит какими то другими цветами..напр color(x, "blue"); Если нет то как написать? http://www.cyberforum.ru/cpp-beginners/thread195510.html
C++ Проверьте пожалуйста код
#include <iostream> #include<stdlib.h> // в этом файле содержатся функции rand() и srand() #include<time.h> // в этом файле содержится функция time() using namespace std; class CMatrix{ int a,num; //Создаем двухмерный массив public: //Делаем данные доступными CMatrix(){ ...
asm вставка в C++ C++
есть код #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; slozh(int* pi1, int si1);
C++ суммирование подвекторов; про кота и мышей; простые числа http://www.cyberforum.ru/cpp-beginners/thread195475.html
помогите, пожалуйста, решить задачи: 1) задан массив целых чисел. определим подвектор как один или более последовательных элементов массива. каждому подвектору поставим в соответствие сумму его элементов. требуется написать функцию, вычисляющую максимум из сумм подвекторов в массиве. 2) коту снится, что его окружили 13 мышей. 12 из них серые и одна белая. слышит кот, что кто-то говорит ему:...
C++ [C++] Файлы (программа не работает) (Для двух файлов А и В, которые включают по 17 элементов A={ai }, B={bi} i=1,17 необходимо выполнить следующие действия с элементами ai и bi :ci=ai/bi - 2 и записать полученные значения ciв файл c={ ci } (C++)) Почему-то не работает ,никак не пойму,help #include <iostream> using namespace std; #include "math.h" #include <stdio.h> #include "conio.h" int a,b,c; int i=0; подробнее

Показать сообщение отдельно
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
18.11.2013, 13:40     Указатели - в чем суть?
Цитата Сообщение от Мортулус Посмотреть сообщение
Можно вопрос: что означает, к примеру строка ***ptr? Везде искал, не могу разобраться.
например, это может означать будущую динамическую матрицу из строк переменной длины
законченный пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bios.h>
#include <alloc.h>
 
void pause () {
 printf ("\n Press any key to continue");
 fflush (stdin);
 while (!bioskey(1));
}
 
void error (int n) {
 unsigned char *msg;
 switch (n) {
  case 1: msg = "No memory";
  break;
  default: msg = "Unknown error";
 }
 printf ("\nError: %s",msg);
 pause ();
 exit (n);
}
 
void main () {
 unsigned char ***a=NULL;
  //a - указатель на массив указателей на строки матрицы.
  //Так как элементами матрицы тоже будут указатели на строки-элементы,
  //необходимо три звездочки
 int const n=2,m=2; //число строк и столбцов матрицы
 a = (unsigned char ***) malloc (n*sizeof(unsigned char **));
  //Выделяем память под массив указателей на строки матрицы
 if (a==NULL) error (1);
 int i,j,l;
 for (i=0; i<n; i++) {
  a[i] = (unsigned char **) malloc (m*sizeof(unsigned char *));
  //Выделяем память под каждую строку - массив указателй на элементы
  if (a[i]==NULL) error (1);
 }
 
 //Заполняем матрицу вводом с клавиатуры
 unsigned char buf[80];
 for (i=0; i<n; i++)
 for (j=0; j<m; j++) {
  printf ("\n Enter string for a[%d,%d]:",i,j);
  fflush (stdin);
  fgets (buf,78,stdin); //scanf лучше не использовать для ввода строк
  l=strlen(buf);
  buf[--l]='\0'; //но fgets оставит в конце перевод строки, уберем его
  a[i][j] = (unsigned char *) malloc (l*sizeof(unsigned char));
   //выделяем память под очередной элемент в зависимости от
   //длины буфера
  if (a[i][j]==NULL) error (1);
  strcpy (a[i][j],buf); //копируем буфер в элемент матрицы строк
 }
 //Выводим полученную матрицу на экран консоли
 printf ("\n String matrix:");
 for (i=0; i<n; i++) {
  fputs ("\n",stdout);
  for (j=0; j<m; j++) {
   fputs (a[i][j],stdout);
   fputs ("\t",stdout);
  }
 }
 pause ();
}
 
Текущее время: 22:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru