Задачи

  Пример 1 : Програма, която да отпечати на първия ред една звездичка ( * ), на втория ред 3 звездички, на третия ред – 5 звездички, на четвъртия ред – 7 звездички и т.н.

masiv

#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=0;i< 10;i=i+2)
{
for(j=0;j< i+1;j++)
{
cout<<"*";
}
cout<< endl;
}
return 0;
}

  Пример 2 : Отпечатване на пирамида от звездички "*".
masiv
#include<iostream>
using namespace std;
int main()
{
int i, n=5,j;
for(i=0;i< n;i++)
{
for(j=0;j< n-i;j++)
cout<< " ";
for(j=0;j<=2*i;j++)
cout<<"*";
cout<< endl;
}
return 0;
}

  Пример 3 : Въведете число от клавиатурата (до 20 цифри) напишете
програма, която да преброи цифрите и след това да събере всички цифри.

#include<iostream> // for Code Blocks
using namespace std;
int main()
{
unsigned long long int a,n,x,S=0,c;
cout<< "Input number =>";
cin>>a;
c=a;
for (n=0;a>0;n++)
{
a=a/10;
x=c%10;
S=S+x;
c=c/10;
}
cout<< "Broi cifri ==> n="<< n<< endl;
cout<< "Suma na cifrite ==> S="<< S;
return 0;
}

  Пример 4 : Напишете програма, която да изчисли корените x1, x2 на квадратно уравнение: ax2+bx+c=0
Ако коефициента а=0 вече не е квадратно, а линейно уравнение.

#include<iostream> // for Code Blocks
#include<math.h>
using namespace std;
int main()
{
double a,b,c,d,x1,x2;
cout<< "a=";
cin>> a;
cout<< "b=";
cin>>b;
cout<< "c=";
cin>>c;
d=pow(b,2)-(4*a*c);
if (d>0)
{
cout<< "D="<< d<< endl<< endl;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
cout<< "x1="<< x1<< endl;
cout<< "x2="<< x2<< endl;
}
else if (d==0)
{
cout<< "D="<< d<< endl<< endl;
x1=-b/(2*a);
cout<< "x1=x2 = "<< x1<< endl;
}
else
{
cout<< endl<< "D="<< d<< "<0"<< endl;
cout<< "No solution in the set of real numbers."<< endl;
}
return 0;
}

  Пример 5 : Напишете програма, която да прецени дали може да се построи.
триъгълник по зададени три страни.
Дължините а,b,c(хипотенуза) въвеждаме от клавиатурата.

#include<iostream> // for Code Blocks
#include<math.h>
using namespace std;
int main()
{
double a,b,c;
cout<< "Input a,b,c-hipotenuse "<< endl;
cout<< "a="; cin>> a;
cout<< "b="; cin>> b;
cout<< "c="; cin>> c;
if((fabs(a-b)< c)&&(c< a+b))cout<< "You can create a triangle.";
else cout<< "You cannot create a triangle!";
return 0;
}

  Пример 6 : Напишете програма, която да изчисли разстоянието между две точки
т. A1(x,y) и т. A2(x,y) по зададени координати. Кординатите на точките въвеждаме от клавиатурата.
pitagor
  Фиг. 1. Схема да се изчисли разстоянието между точките А1 и А2.


#include<iostream> // for Code Blocks
#include<math.h>
#include<clocale>
using namespace std;
struct point
{
double x;
double y;
}A1,A2;

int main()
{
setlocale (LC_ALL, "en_US.UTF8");
double c,d;
char s=251;
cout<< "A1.x=";
cin>> A1.x;
cout<< "A1.y=";
cin>> A1.y;
cout<< "A2.x=";
cin>> A2.x;
cout<< "A2.y=";
cin>> A2.y;
d=pow(A2.x-A1.x,2)+ pow(A2.y-A1.y,2);
c=sqrt(d);
cout<< "sqrt("<< d<< ")="<< c<< endl;
cout<< "\u221A"<< d<< "="<< c<< endl; // for Linux OS
cout<< s<< d<< "="<< c<< endl; // for Windows OS
return 0;
}

  Пример 7 : ASCII - The American Standard Code for Information Interchange.
Извежда ASCII кодовете на видимите символите на екрана.
След това извежда разликата между а и А, а-А=32 т.е. изважда разликата между кодовете на символите .

#include <iostream> // for Code::Blocks
using namespace std;
int main()
{
int i;
for(i=31;i<=255;i++)
cout<< i<< "=>"<< char(i)<< ", ";
cout<< endl<< char(97)<< "-"<< char(65)<< "="<< char(97)-char(65)<< endl;
return 0;
}

  Пример 8 : Програма на с++, която създава директория (папка) под DOS. Името на директорията е test
и се създава на hard disk c: .

#include <iostream> // for Code::Blocks on Windows
#include <io.h>
using namespace std;
int main()
{
if (mkdir("c:/test") == 0)
cout<<"Directory is created ..";
else
cout << " Can't create a directory ..." << endl;
return 0;
}

  Пример 9 : Програма на с++, която изтрива директория (папка) под DOS. Името на директорията е test
и се изтрива от hard disk c: .

#include <iostream> // for Code::Blocks on Windows
#include <io.h>
using namespace std;
int main()
{
if (rmdir("c:/test") == 0)
cout<<"Directory is erased ..";
else
cout << " Can't erase a directory ..." << endl;;
return 0;
}

  Пример 10 : Програма, която проверява дали дадено число въведено от клавиатурата се дели на 3.

#include <iostream> // for Code::Blocks on Windows
using namespace std;
int main()
{
int i,n,x,s=0;
cout<< "n=";
cin>> n;
while (n>0)
{
x=n%10;
cout<< x<< ",";
s=s+x;
n=n/10;
}
cout << endl<< "s="<< s<< endl;
if(s%3==0) cout<< "The number is divided by 3";
else
cout<< "The number is not divide by 3";
return 0;
}

  Пример 11 : Програма, която преброява и събира на цифрите на число въведено от клавиатурата . Максималния брой цифри е 20.

#include <iostream> // for Code::Blocks on Windows
#include <limits.h>
using namespace std;
int main()
{
unsigned long long int S=0,c=0,r,v,n;
cout<< "Unsigned max long long int ==>"<< ULLONG_MAX<< "  ==>  Max 20 sings."<< endl<< endl;
cout<< "n=";
//n=ULLONG_MAX;
cin>>n;
do
{
r=n/10;
v=n%10;
cout<< v;
if(r!=0) cout<< "+";
S=S+v;
c=c+1;
n=r;
} while(n>0);
cout<< "="<< S;
cout << endl<< "Sum="<< S<< endl;
cout << "Count="<< c<< endl;
return 0;
}

  Пример 12 : Програма, която след като въведем низ, проверява дали даден знак се
повтаря и ако се повтаря се извежда стойността и позицията му.

#include <iostream> // for Code::Blocks on Windows
#include <string.h>
using namespace std;
int main()
{
int i,j,n;
char a[80];
cin>> a;
n=strlen(a);
for(i=0;i< n;i++)
{
for(j=i+1;j< n;j++)
{
if(a[j]==a[i])
{
cout<< "a["<< i+1<< "]=" << a[i];
i=n;
break;
}
}
}
return 0;
}

  Пример 13 : Програма, която събира две много дълги числа, въведени като низове. Въвеждате едно число, след това програмата извежда "+" и въвеждате другото число.

#include <iostream> // for Code::Blocks on Windows
#include <string.h>
using namespace std;
char s1[200], s2[200];
int a[100], b[100], r[100];
int main()
{
int c=0,i,j,n,m,z;
cin >> s1;
n=strlen(s1);
for(i=n-1,j=0;i>=0; i--,j++)
a[j]=s1[i]-'0';
cout<<" +"<< endl;
cin >> s2;
m=strlen(s2);
for(i=m-1,j=0;i>=0; i--,j++)
b[j]=s2[i]-'0';
if (m>=n)z=m;
else z=n;
for(i=0;i<=z;i++)
{
r[i]=a[i]+b[i]+c;
if(r[i]>9)
{r[i]=r[i]-10; c=1;}
else c=0;
}
i=z;
while (z>0){ cout << "-"; z--;}
cout<< endl;
if(r[i]==0) i--;
while(i>=0)
{
cout << r[i];
i--;
}
}
  Пример 14 : Програма, която сумира стойностите на аритметичната прогресия: 1, 4, 7, 10, 13, 16. Стойностите на аритметичната прогресия се задават автоматично чрез променливата d=d+3 в цикъл от 0 до 6.
Аритметична прогресия е числова редица, на която всеки следващ член се получава, като към стойността на предходния се прибави едно и също число (d).

#include <iostream> // for Eclipse
using namespace std;
int main()
{
int i,S=0,d=1;
for(i=0;i<6;i++,d=d+3)
{
cout<< d<< ", ";
S=S+d;
}
cout<< "\nS="<< S<< endl;
return 0;
}
  Пример 15 : Програма, която умножава стойностите на аритметичната прогресия: 1, 4, 7, 10, 13. Стойностите на аритметичната прогресия се задават автоматично чрез променливата d=d+3 в цикъл от 0 до 5.


#include <iostream> // for Eclipse
using namespace std;
int main()
{
int i,S=1,d=1;
for(i=0;i<5;i++,d=d+3)
{
cout<< d<< ", ";
S=S*d;
}
cout<< "\nS="<< S<< endl;
return 0;
}




Благодаря за вниманието Ви !