Программирование на С++ Примеры

 //intvars.cpp // работа с переменными целого типа

 #include <iosteam>

using namespace std;

 int main()                                    

{

int var1; // описание переменной var1

int var2; // описание переменной var2

var1 = 20; // присвоение значения переменной var1

var2 = var1 + 10; // присвоение значения переменной var2

cout << "var1+10 равно "; // вывод строки

ccout << var2 << endl; // вывод значения переменной var2

 return 0;

}

// charvars.cpp // применение символьных констант

#include <iostream> // для cout и т.п.

using namespace std;

int main()

{

char charvar1 ='A '; // символьная переменная со значением 'A'

char charvar2 ='\t '; // символьная переменная со значением символа табуляции

cout <<charvar1; // вывод переменной на экран

 cout <<charvar2; // вывод переменной на экран

charvar1 ='B'; // присваивание константного  значения символьной  переменной

cout <<charvar1; // вывод переменной на экран

 cout <<'\n '; // переход на следующую строку
return 0;

}

//fahren.cpp //применение cin и \n

 #include <iostream>

 using namespace std;

 int main()

{

 int ftemp; // температура по Фаренгейту

cout << "Введите температуру по Фаренгейту: ";

 cin >> ftemp; int ctemp = (ftemp-32)*5 / 9;

cout << "Температура по Цельсию равна " << ctemp << '\n ';

 return 0;

}

//circarea.cpp //работа с переменными вещественного типа

#include <iostream> //для cout и т.д.

 using namespace std;

int main()

{

float rad; // переменная вещественного типа const

 float PI =3.14159F; // вещественная константа

cout << "Введите радиус окружности: "; // запрос

cin >> rad; // получение радиуса

 float area = PI *rad *rad; // вычисление площади круга

 cout <<"Площадь круга равна " << area << endl; // вывод результата на экран

return 0;

 }

//width2.cpp //применение манипулятора setw

#include <iostream>

 #include <iomanip> // для использования setw

using namespace std;

 int main()

 {

 long pop1 = 8425785, pop2 = 47, pop3 = 9761;

cout << setw(9) << "Город " << setw(12) << "Население " << endl << setw(9) << "Москва" << setw(12) << pop1 << endl << setw(9) << "Киров" << setw(12) << pop2 << endl << setw(9) << "Угрюмовка" << setw(12) << pop3 << endl;

return 0;

}

// signtest.cpp // работа со знаковыми и беззнаковыми переменными

#include <iostream>

 using namespace std;

 int main()

{

 int signedVar = 1500000000; //знаковая переменная

 unsigned int unsignVar = 1500000000; //беззнаковая переменная

signedVar = (signedVar *2) / 3; //выход за границы диапазона

unsignVar = (unsignVar *2) / 3; // вычисления внутри диапазона

cout << "Знаковая переменная равна " << signedVar << endl; // вывод правильного результата

cout << "Беззнаковая переменная равна " << unsignVar << endl; // вывод некорректного результата

 return 0;

}

// mixed.cpp // использование смешанных выражений

#include <iostream>

using namespace std;

 int main()

 {

int count = 7;

 float avgWeight = 155.5F;

 double totalWeight = count *avgWeight;

cout <<"Вес равен " << totalWeight << endl;

return 0;

}

// cast.cpp // работа со знаковыми и беззнаковыми переменными

 #include <iostream>

using namespace std;

int main()

{

int intVar = 1500000000; // 1 500 000 000

 intVar = (intVar * 10) / 10; // слишком большой результат

cout << "Значение intVar равно " << intVar << endl; // неверный результат

intVar = 1500000000; // приведение к типу double

 intVar = (static_cast(intVar) * 10) / 10;

 cout << "Значение intVar равно " << intVar << endl; // верный результат

 return 0;

}

// remaind.cpp // применение операции остатка от деления

 #include <iostream>

 using namespace std;

 int main()

 {

cout <<6 %8 <<endl //6

<<7 %8 <<endl //7

 <<8 %8 <<endl //0

<<9 %8 <<endl //1

<<10 %8 <<endl; //2

return 0;

}

// assign.cpp // применение арифметических операций с присваиванием

 #include <iostream>

using namespace std;

 int main()

{

 int ans = 27;

 ans += 10; // то же самое, что ans = ans +10;

 cout << ans << ", ";

ans -= 7; // то же самое, что ans = ans -7;

 cout << ans << ", ";

ans *=2 ; // то же самое, что ans = ans *2;

cout << ans << ", ";

 ans /= 3; // то же самое, что ans = ans /3;

cout << ans << ", ";

ans %= 3; // то же самое, что ans = ans %3;

 cout << ans << endl;

 return 0;

 }

// increm.cpp // применение операции инкрементирования

#include <iostream>

 using namespace std;

 int main()

 {

 int count =10;

cout << "count=" << count << endl; // вывод числа 10

cout << "count=" << ++count << endl; // вывод числа 11 (префиксная форма)

 cout << "count=" << count << endl; // вывод числа 11

cout << "count=" << count++ << endl; // вывод числа 11 (постфиксная форма)

cout << "count=" << count << endl; // вывод числа 12

 return 0;

 }

// sqrt.cpp // использование библиотечной функции sqrt()

#include <iostream>//для cout и т.п.

##include <cmath>//для sqrt()

using namespace std;

int main()

{

double number,answer; //аргументы типа double для функции sqrt()

cout << "Введите число: ";

cin >> number; // ввод числа

answer = sqrt(number); // извлечение корня

cout << "Квадратный корень равен " << answer << endl; // вывод результата

 return 0;

 }

 

// relat.cpp // применение операций отношения

 #include <iostream>

using namespace std;

 int main()

 {

int numb; cout << "Введите число: ";

cin >> numb;

cout << "numb<10 равно " << (numb <10) << endl;

 cout << "numb>10 равно " << (numb >10) << endl;

 cout << "numb==10 равно " << (numb ==10) << endl;

 return 0;

 }

 

// fordemo.cpp // демонстрирует работу простейшего цикла for

 #include <iostream>

using namespace std;

 int main()

 {

 int j; // определение счетчика цикла

for ( j=0 ; j<15 ; j++) // счетчик меняется от 0 до 14

cout << j * j << " "; // квадрат значения j выводится на экран

cout << endl;

 return 0;

}

// cubelist.cpp // подсчет кубов целых чисел от 1 до 10

 #include <iostream>

#include <iomanip> //для setw

using namespace std;

 int main()

{

int numb; // счетчик цикла

 for(numb=1; numb<=10; numb++) // цикл от 1 до 10

    {

  cout << setw(4) << numb; // вывод первого столбца 

  int cube = numb * numb * numb; // вычисление куба

  cout << setw(6) << cube << endl; // вывод второго столбца

   }

 return 0;

 }

// factor.cpp // подсчет факториала числа с помощью цикла for

 #include <iostream>

using namespace std;

int main()

{

unsigned int numb;

unsigned long fact = 1; // тип long для результата

cout << "Введите целое число: ";

 cin >> numb; // ввод числа

 for(int j=numb; j>0; j--) // умножение 1 на

 fact *= j; // numb, numb-1, ..., 2, 1

 cout << "Факториал числа равен " << fact << endl;

 return 0;

}

// endon0.cpp // применение цикла WHILE

 #include <iostream>

using namespace std;

int main()

{

 int n = 99; // n не должна быть равна 0 перед началом цикла

while(n != 0 ) // цикл, пока значение n не равно 0

 cin >> n; // считывание n с клавиатуры

 cout << endl;

 return 0;

 }

// while4.cpp // возведение в четвертую степень целых чисел

 #include <iostream>

 #include <iomanip> //для setw

using namespace std;

 int main()

 {

int pow = 1; // первое возводимое число равно 1

int numb = 1; // 1 в 4-й степени равна 1

 while(pow < 10000) // цикл, пока в степени  не более 4 цифр

 {

 cout << setw(2) << numb; // вывод числа

cout << setw(5) << pow <<endl; // и его 4-й степени

++numb; // инкремент текущего числа

pow = numb*numb*numb*numb; // вычисление 4-й степени

 }

cout << endl;

 return 0;

}

// fibo.cpp // генерирование чисел Фибоначчи с помощью цикла while

 #include <iostream>

using namespace std;

int main()

 {

 //граница типа unsigned long

const unsigned long limit = 4294967295;

 unsigned long next = 0; // предпоследний член

 unsigned long last = 1; // последний член

while(next < limit / 2 ) // результат не должен быть слишком большим

 {

cout << last << " "; // вывод последнего члена

 long sum = next + last; // сложение двух последних членов

 next = last; // обновление предпоследнего

 last = sum; // и последнего членов

}

cout << endl;

return 0;

}

// divdo.cpp // применение цикла do

#include <iostream>

 using namespace std;

int main()

 {

 long dividend, divisor;

 char ch;

do // начало цикла do

{

// действия

cout << "Введите делимое: " ;

 cin >> dividend;

cout << "Введите делитель: " ;

cin >> divisor;

cout << "Частное равно " << dividend / divisor;

 cout << ", остаток равен " << dividend % divisor;

 cout << "\nЕще раз?(y/n): ";

 cin >> ch;

}

 while(ch != 'n')); // условие цикла

return 0;

 }

// ifdemo.cpp // применение оператора if

 #include <iostream>

 using namespace std;

 int main()

 {

 int x;

 cout << "Введите число: ";

cin >> x;

if( x > 100 ) cout << "Это число больше, чем 100\n ";

return 0;

}

// if2.cpp // использование нескольких операторов в теле цикла if

 #include <iostream>

 using namespace std;

 int main()

{

int x;

cout << "Введите число: ";

cin >> x;

 if( x > 100 )

{

cout << "Число " << x;

cout << " больше, чем 100\n";

}

return 0;

 }

// prime.cpp // применение цикла if для определения простых чисел

#include <iostream>

using namespace std;

#include <process.h> //для exit()

& int main()

 {

 unsigned long n,j;

 cout << "Введите число: ";

 cin >> n; // ввод проверяемого числа

for(j=2; j <= n/2; j++) // деление на целые числа,

if(n%j == 0) // начиная с 2; если остаток

 {

//нулевой, то число не простое

 cout << "Число не простое; делится на " << j << endl;

exit(0); // выход из программы

}

cout << "Число является простым\n";

 return 0;

}

// ifelse.cpp // применение конструкции if...else

#include <iostream>

 using namespace std;

 int main()

{

 int x;

 cout << "\nВведите число: ";

cin >> x;

if( x > 100 ) cout << "Это число больше, чем 100\n";

else cout << "Это число не больше, чем 100\n";

 return 0;

}

// chcount.cpp // подсчет числа слов и символов в строке

#include <iostream>

 using namespace std;

#include <conio.h>// для getche()

int main()

 {

int chcount = 0; // число непробельных символов

 int wdcount = 1; // число пробелов

 char ch = 'a'; // ch должна иметь определенное значение

cout << "Введите строку: ";

while(ch != '\r' )) // цикл, пока не будет нажата клавиша Enter

 {

ch = getche(); // считывание символа

 if( ch == ' ' ) // если символ является пробелом,

 wdcount++; // то инкрементируем число слов

 else // в противном случае

chcount++; // инкрементируем число символов

 }

// вывод результатов на экран

 cout << "\nCлов: " << wdcount << endl << "Букв: " << (chcount-1)<< endl;

return 0;

 }

// chcnt2.cpp // подсчет числа слов и символов в строке

 #include <iostream>

 using namespace std;

 #include <conio.h> // для getche()

int main()

 {

int chcount = 0;

int wdcount = 1; // пробел между двумя словами

 char ch; while( (ch=getche()) != '\r ' ) // цикл, пока не нажата клавиша Enter

 {

 if (ch == ' ') // если введен пробел,

 wdcount++; // инкрементировать счетчик слов

else // иначе

chcount++; // инкрементировать число символов

}

// вывод результатов

 cout << "\nСлов: " << wdcount << endl <<"Букв: " << chcount << endl;

 return 0;

}

// adifelse.cpp // приключенческая игра с применением ветвления if...else

 #include <iostream>

 using namespace std;

#include <conio.h> // для getche()

int main()

{

 char dir='a';

 int x=10, y=10;

cout << "Нажмите Enter для выхода...\n";

 while ( dir != '\r ' ) // пока не будет нажата клавиша Enter

{

 cout << "\nВаши координаты: " << x << ", " << y;

 cout << "\nВыберите направление (n,s,e,w): ";

dir = getche(); // ввод символа

 if ( dir == 'n' ) // движение на север

y--;

else if ( dir == 's' ) // движение на юг

 y++;

 else if ( dir == 'e' ) // движение на восток

 x++;

else if ( dir == 'w' ) // движение на запад

 x--;

} // конец цикла while

 return 0;

} // конец функции main()

// platters.cpp // применение ветвления switch

 #include <iostream>

 using namespace std;

 int main()

{

 int speed; // скорость вращения грампластинки

cout << "\nВведите число 33,45 или 78: ";

cin >> speed; // ввод скорости пользователем

 switch(speed) // действия, зависящие от выбора скорости

{

case 33: // если пользователь ввел 33

cout << "Долгоиграющий формат\n";

break;

case 45: // если пользователь ввел 45

 cout << "Формат сингла\n";

break;

 case 78: // если пользователь ввел 78

 cout << "Устаревший формат\n"; break;

}

 return 0;

 }

// adswitch.cpp // приключенческая игра с использованием switch

 #include <iostream>

using namespace std;

 #include <conio.h> // для getche()

 int main()

{

char dir='a';

 int x=10,y=10;

 while( dir !='\r ' )

{

 cout << "\nВаши координаты: " << x << ", " << y;

 cout << "\nВыберите направление (n,s,e,w): ";

dir = getche(); // ввод переменной

 switch(dir) // switch c переменнной dir

 {

 case 'n':

 y--;  break;  // движение на север

 case 's':  y++; break; // движение на юг

case 'e': x++; break; // движение на восток

case 'w': x--; break; // движение на запад

 case '\r': cout << "Выход...\n" ; break; // нажатие Enter

 default: cout << "Попробуйте еще\n"; // нажатие других клавиш

} // конец switch

} // конец while

 return 0;

} // конец main()

// condi.cpp // печать символа 'x' каждые 8 позиций  с применением условной операции

#include <iostream>

using namespace std;

int main()

{

 for ( int j=0; j<80 ; j++) // для каждой позиции

 {                                      //значение ch равно 'x', если

char ch = (j%8) ? ' ' :: 'x'; // номер позиции кратен 8,

ccout <<ch;                     // в противном случае ch содержит пробел

}

return 0;

}}}

// advenand.cpp // применение операции логического И

#include <iostream>

using namespace std;

#include <process.h>// для exit()

 #include <conio.h> // для getche()

 int main()

{

char dir='a';

 int x=10, y=10;

while ( dir != '\r ' )

{

cout << "\nВаши координаты: " << x << ", " << y;

 cout << "\nВыберите направление (n,s,e,w): ";

dir = getche(); // ввод направления

switch(dir)

{

case 'n': y--; break; // обновление координат

 case 's': y++; break;

case 'e': x++; break;

case 'w': x--; break;

}

if( x==7 && y==11 ) // если x равно 7 и y равно 11

{

cout <<"\nВы нашли сокровище!\n";

 exit(0); // выход из программы

 }

} //конец switch

return 0;

} //конец main()

// advenor.cpp // применение операции логического ИЛИ

#include <iostream>

 using namespace std;

#include <process.h>// для exit()

#include <conio.h>// для getche()

int main()

{

char dir='a';

int x=10, y=10;

while( dir != '\r ' ) //выход при нажатии Enter

{

 cout << "\n\nВаши координаты: " << x << ", " << y;

 if( x<5 || x>15 ) //если x меньше 5 или больше 15

cout << "\nОсторожно – драконы!";

 cout <<"\nВыберите направление (n,s,e,w): ";

 dir = getche(); //выбор направления

switch(dir)

{

case 'n': y--; break; // обновление координат

 case 's': y++; break;

case 'e': x++; break;

 case 'w': x--; break;

 } // конец switch

 } // конец while

return 0;

} // конец main()

// showprim.cpp // изображает распределение простых чисел

 #include <iostream>

 using namespace std;

##include <conio.h> // для getche()

 int main()

 {

const unsigned char WHITE =219; // белый цвет для простых чисел

const unsigned char GRAY =176; // серый цвет для остальных чисел

unsigned char ch; // действия для каждой позиции на экране

for(int count=0; count<80*25-1 ;count++)

 { ch = WHITE; //предполагаем, что число простое

for(int j=2; j<count; j++) // делим на каждое целое, большее 2

 if( count%j == 0) // если остаток равен 0,

{

ch = GRAY; // то число не простое

 break; // выход из внутреннего цикла

 }

 cout << ch; // вывод символа на экран

 }

getch(); // задержка полученного изображения

 return 0;

}

// divdo2.cpp // применение оператора continue

 #include <iostream>

using namespace std;

 int main()

{

long dividend, divisor;

 char ch;

 do

 {

 cout << "Введите делимое: ";

 cin >> dividend;

 cout << "Введите делитель: " ;

cin >> divisor;

if( divisor == 0 ) // при попытке

{ // деления на ноль

cout << "Некорректный делитель!\n"; // вывод сообщения

continue; // возврат в начало цикла

}

cout << "Частное равно " << dividend / divisor;

cout << ", остаток равен " << dividend % divisor;

 cout << "\nЕще раз?(y/n): ";

cin >> ch;

 }

 while( ch != 'n' );

 return 0;

 }

 

www.4its.ru