[C++] [Уроки от Cool_Story] [Урок №9, Часть №1] - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[C++] [Уроки от Cool_Story] [Урок №9, Часть №1]
Cool_Story_Bro=) Дата: Пятница, 09.11.2012, 09:58 | Сообщение # 1
Любитель
Сообщений: 49
Статус: Offline
Урок №9, часть №1
Hard Lesson


Итак. Сегодня будет сложный для понимания урок и соответственно не каждый его поймёт.
Начнём.


Повторение.


Прежде всего, хочу напомнить, что переменные бывают двух видов:
  • Глобальные ;
  • Локальные .

Глобальные объявляются вне функции ( будь-то main() или любая другая ), а с локальными соответственно всё наоборот и более запутанно.
Например, локальная переменная может быть объявлена в цикле for -
Code
for (int i; i < 5; i++)

и она потеряет своё значение, после выхода из цикла.

Указатели.


Ну прежде всего, указатель - это переменная, которая содержит в себе адрес другой переменной. Объявляется она след. образом -
Code
int *b  //  Вместо 'b' может быть любая другая переменная

Ну в общем, формат объявления указателя таков -
Code
тип *переменная

С указателями используются лишь два оператора: * и &.
Например -
Code
a = &b

Здесь, в переменную a, помещается адрес переменной b. Например, если b = 10, то после выполнения данного фрагмента кода, переменная a тоже станет равна 10.

Рассмотрим небольшую программу -
Code
#include <iostream>
usinf namespace std;

int main() {
   int a;
   int *b;
   int c;
   a = 100;  //  Присваиваем значение переменной
   b = &a;  //  Помещаем адрес переменной a, в переменную b
   c = *b;  //  Присваиваем переменной c, значение a, на которую указывает переменная b.
   cout << "C = " << c << endl;  //  Выводим на экран значение переменной c
   system("pause");
   return 0;
}

Так-вот, при выполнении этой программы получаем вот такой результат -
Code
C = 100


_______________________________________________________________

На сегодня всё. Завтра напишу вторую часть урока.

Д/z на сегодня:
1) Написать любую программу с использованием указателей;
2) Написать программу, которая будет складывать 3 последних числа в массиве.
Например -
Code
Введите кол-во чисел: 5
Введите 1 число: 2
Введите 2 число: 6
Введите 3 число: 1
Введите 4 число: 8
Введите 5 число: 12
12 + 8 + 1 = 21

Удачи !
_______________________________________________________________
The End
alex3931 Дата: Пятница, 09.11.2012, 16:39 | Сообщение # 2
Боец
Сообщений: 129
Статус: Offline
Вот часть кода, дальше не могу додуматя как сложить 3 последних числа

Напиши ответ


Пишу софт на заказ.Скайп sprilt
Cool_Story_Bro=) Дата: Пятница, 09.11.2012, 17:16 | Сообщение # 3
Любитель
Сообщений: 49
Статус: Offline
alex3931, Вот более-менее качественный код программы. Писал специально для того, чтобы в случае каких-либо затруднений с вашей стороны, выложить его -
Code

#include <iostream>  
#include <cstdio>  
using namespace std;  

int main() {
  setlocale(LC_ALL,"Russian");  
  int mass[20];
  int a,c,d;
  int b=0;
  cout << "Введите кол-во чисел: "; cin >> a;  //  Вводим кол-во чисел)
  for (int i = 0; i < a; i++) {
   cout << "[" << i+1 << " число]: "; cin >> mass[i];  //  Думаю тут понятно
  }
  for (int i = a-3; i < a; i++) {  
   cout << mass[i];
   if (i!=(a-1)) cout << " + ";
   b+=mass[i];
  }
  cout << " = " << b;
     system("pause>>null");  
     return 0;  
}

Вот этот фрагмент кода на самостоятельный разбор -
Code
              
for (int i = a-3; i < a; i++) {  
      cout << mass[i];
      if (i!=(a-1)) cout << " + ";
      b+=mass[i];
}


Подумай, какую роль в этой программе он играет и по возможности отпишись.
Желательно, чтобы ты скомплимировал эту программу у себя. Тогда тебе будет легче понять, как она работает.

Добавлено (09.11.2012, 17:16)
---------------------------------------------
Если есть какие-либо вопросы, отвечу завтра. Сегодня времени нет.

alex3931 Дата: Пятница, 09.11.2012, 17:44 | Сообщение # 4
Боец
Сообщений: 129
Статус: Offline
Code
b+=mass[i];
что означает эта строчка

Добавлено (09.11.2012, 17:29)
---------------------------------------------
Понял что это значит

Добавлено (09.11.2012, 17:44)
---------------------------------------------
Вроде частично понял

Code
a-3;

Code
(a-1)

обьясни что это


Пишу софт на заказ.Скайп sprilt
Cool_Story_Bro=) Дата: Суббота, 10.11.2012, 06:33 | Сообщение # 5
Любитель
Сообщений: 49
Статус: Offline
alex3931, Ну смотри, -
Code

for (int i = a-3; i < a; i++) {   
       cout << mass[i];  
       if (i!=(a-1)) cout << " + ";  
       b+=mass[i];  
  }

--------------------
--------------------
Нам ведь необходимо сложить три последние числа, верно ?
Для этого, мы и "используем" -
Code
a-3

Напомню, что переменная a - кол-во наших чисел. Допустим, что a = 10. Так вот, чтобы сложить именно 3 наших последних числа, нам необходимо от a отнять 3. В итоге мы сложим - mass[7], mass[8] и mass[9], вместо всех 10 штук.

---------------------
---------------------
Здесь, -
Code
if (i!=(a-1)) cout << " + ";

Мы выводим +, если i не равняется a-1.
Не будь этого условия, то у нас к примеру вместо -
Code
5 + 5 + 5 = 15

Было-бы -
Code
5 + 5 + 5 + = 15

---------------------
Ну всё остальное проще простого и думаю не нуждается в объяснении.
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
PUPS12124 [02:09]

Bioksit [00:15]

Dafdaf [23:27]

ячеченец [21:00]

balbesbizad [12:02]

cpark [11:40]

Mario_Imperator [11:33]

leonovichstas97 [22:40]

ubeyefudu [18:53]

zheniakuzma [17:47]

Moonberg [16:04]

tamararl6 [15:04]

consuelobm3 [08:03]