[C++] [Практика вместе с Cool_Story] [Занятие №1] - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir  
[C++] [Практика вместе с Cool_Story] [Занятие №1]
Cool_Story_Bro=) Дата: Четверг, 15.11.2012, 15:38 | Сообщение # 1
Любитель
Сообщений: 49
Статус: Offline
Занятие №1


Итак, в занятиях такого рода я буду публиковать 1-2 своих программ, а точнее их код, и мы будем в них разбираться.
Пожалуй начнём.
~~~~~~~~~~~~~~~~~~~

Программа №1. Вычисление среднего арифметического и нахождение суммы введённых чисел.
Собственно, вот код программы -
Code

#include <iostream>  
#include <conio.h>  
#include <cstdio>  
#include <windows.h>  
using namespace std;  

void sred();
void summ();
float mass[20];
int a,b,i;

int main() {
  setlocale(LC_ALL,"Russian");  
  cout << "Введите кол-во чисел: "; cin >> a;
  if (a) {
  for (i = 0; i < a; i++) {
   cout << "Введите " << i+1 << " число: ";
   cin >> mass[i];
  }
  system("cls");
  cout << "Введите 1, для вычисления сред. арифметического;\n";
  cout << "Введите 2, для вычисления суммы чисел;\n";
  cout << "Ввод: "; cin >> b;
  switch(b) {
  case 1: { sred(); break; }
  case 2: { summ(); break; }
  default: { cout << "Вы ошиблись при вводе..." << endl; break; }
  break;
  }
  }
  system("pause>>null");  
     return 0;  
}

void sred() {
  system("cls");
  float s = 0;
  for(i = 0; i < a; i++) s+=mass[i];  
  cout << "Среднее арифметическое " << a << " чисел = " << s/a << endl;
}

void summ() {
  system("cls");
  float s = 0;
  for(i = 0; i < a; i++) s+=mass[i];  
  cout << "Сумма " << a << " чисел = " << s << endl;
}

Разберём каждую часть отдельно.
Code

void sred();
void summ();
float mass[20];
int a,b,i;

Объявляем 2 функции, наш массив и три переменные типа - integer. Всё это мы объявляем в начале программы, так-как они нам пригодятся на протяжении всей "работы".
Code

if (a) {
// наш код
}

Ставим условие - "Если значение 'a' - true (т.е. верное), то выполняем остальной код программы.
Code

for (i = 0; i < a; i++) {
  cout << "Введите " << i+1 << " число: ";
  cin >> mass[i];
}

Заполняем наш массив mass[20] числами, введёнными непосредственно с клавиатуры.
Code
system("cls");

Очищаем наш экран от лишнего "мусора".
Code

switch(b) {
        case 1: { sred(); break; }
        case 2: { summ(); break; }
        default: { cout << "Вы ошиблись при вводе..." << endl; break; }
        break;
}

Если b = 1, то выполняем содержимое case 1,
Если b = 2, то выполняем содержимое case 2,
Если b не равно ни единице, ни двойке, то выполняем содержимое default
Code

void sred() {
  system("cls");
  float s = 0;
  for(i = 0; i < a; i++) s+=mass[i];  
  cout << "Среднее арифметическое " << a << " чисел = " << s/a << endl;
}

Наша функция, которая находит среднее арифметическое ранее введённых чисел.
Сначала очищаем наш экран от лишнего мусора,
Потом объявляем переменную s,
Далее идёт цикл, который складывает все наши числа и записывает в переменную s,
После выводим на экран s/a, то-есть сумму чисел делённую на их количество.
Code

void summ() {
  system("cls");
  float s = 0;
  for(i = 0; i < a; i++) s+=mass[i];  
  cout << "Сумма " << a << " чисел = " << s << endl;
}

Наша вторая функция, которая "высчитывает" сумму наших чисел.
Очищаем экран, объявляем переменную, затем попадаем в цикл, который сложит все наши числа и запишет в переменную s. После всех проделанных операций, выводим результат на экран.
~~~~~~~~~~~~~~~~~~~

Вы наверняка обратили внимание на то, что цикл for у меня без фигурных скобок. Всё потому, что внутри цикла происходит всего одно действие, следовательно фигурные скобки можно "опустить".

~~~~~~~~~~~~~~~~~~~

На этом наше первое так-сказать практическое занятие можно считать завершённым.
Если что-либо не понятно - спрашивайте в комментариях.

~~~~~~~~~~~~~~~~~~~
The End.
alex3931 Дата: Четверг, 15.11.2012, 16:39 | Сообщение # 2
Боец
Сообщений: 129
Статус: Offline
Code
s+=mass[i];
Обьясни что значит)


Пишу софт на заказ.Скайп sprilt
Pro100Gad Дата: Четверг, 15.11.2012, 23:12 | Сообщение # 3
Новичок
Сообщений: 20
Статус: Offline
Спасибо за практику, все понял.
Cool_Story_Bro=) Дата: Пятница, 16.11.2012, 09:05 | Сообщение # 4
Любитель
Сообщений: 49
Статус: Offline
Quote (alex3931)

Code
s+=mass[i];

Обьясни что значит)

Ну смотри. Допустим i = 0, значит s будет равняться s + mass[0] и так далее...
В этом цикле -
Quote
for(i = 0; i < a; i++) s+=mass[i];

Мы каждый раз складываем s + mass[i] и записываем рузультат в переменную s.

Существуют так-же вот такие действия -
Code
+=  ;  -=  ;  *=  ;  /=  ;

~~~~~~~~~~~~~~~~~~~~~~~~~~

Например -
Code

s = 0;
a = 5;
s += a;

Здесь переменная s, будет равняться 0 + 5, то-есть пяти.
  • Страница 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]