Задачи С++ (первый курс) — ответы. Циклические алгоритмы.


3-045.cpp

//najti summu N-znachnyh chisel (1<=n<=4), kratnyh K

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
short i,a,b,n,k;
float s=0;
printf(«\tSumma n-znachnyh chisel, kratnyh k\nVvedite n (1<=n<=4): «);
vvod_n:
scanf(«%i»,&n);
switch(n)
{
case 1:
a=1;
b=9;
break;
case 2:
a=10;
b=99;
break;
case 3:
a=100;
b=999;
break;
case 4:
a=1000;
b=9999;
break;
default:
printf(«Oshibka, povtorite vvod: «);
goto vvod_n;
}
printf(«Vvedite k: «);
scanf(«%i»,&k);
for(i=a;i<=b;i+=k)
s+=i;
printf(«Iskomaya summa ravna %.0»,s);
getch();
}

3-012.cpp

//najti summu n chlenov ryada S:
// cos x2 cos x3 cos xn
// S= cos x + ——— + ——— + … + ———
// 2 3 n

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
unsigned n;
float x;
printf(» cos x2 cos x3 cos xn\n S= cos x + ——— + ——— + … + ———\n»);
printf(» 2 3 n\nVvedite X: «);
scanf(«%f»,&x);
printf(«Vvedite tseloe polozhitel’noe chislo N: «);
scanf(«%u»,&n);
float s=0,r=x;
for (unsigned i=1;i<=n;i++)
{
s+=(cos(r)/i);
r*=x;
}
printf(«S=%.3f»,s);
getch();
}

3-022.cpp

//najti summu N chlenov ryada S
// 1 1 1
// S = —— + ————- + … + —————————
// sin 1 sin 1 + sin 2 sin 1 + sin 2 + … + sin n

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
unsigned n,i;
float z=0,s=0;
printf(» 1 1 1\n S = —— + ————- + … + —————————\n»);
printf(» sin 1 sin 1 + sin 2 sin 1 + sin 2 + … + sin n\nVvedite natural’noe chislo N> «);
scanf(«%u»,&n);
for(i=1;i<=n;i++)
{
z+=sin(i);
s+=1/z;
}
printf(» S=%.4f»,s);
getch();
}

3-089.cpp

//na kotoryj den’ uchenik tokarya smozhet sdelat’ K edinits produktsii v den’,
//esli v pervyj den’ on sdelal N edinits, a proizvoditel’nost’ ego truda
//ezhednevno vozrastaet na P protsentov

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
unsigned K,i=0,N;
float P,prod;
printf(«Skol’ko edinits sdelano za prevyj den’? «);
scanf(«%u»,&N);
printf(«Skol’ko edinits trebuetsya delat’? «);
scanf(«%u»,&K);
printf(«Na skol’ko prostentov vozrastaet proizvoditel’nost’? «);
scanf(«%f»,&P);
P=1.0+P/100.0;
prod=(float)N;
for(i=0;K>prod;i++)
prod*=P;
printf(«Uchenik smozhet delat’ po %u detaleej cherez %u dnej»,K,i);
getch();
}

3-065.cpp

//sgenerirovat’ i vyvesti na ekran tri posledovatel’nosti sluchajnyh chisel
//vychislit’ srednee arifmeticheskoe kazhdoj posledovatel’nosti

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void main()

{
clrscr();
randomize();
float s1,s2,s3;
int i,n1,n2,n3;
printf(«Sluchajnye chisla:\n\n»);
for(i=0;i<10;i++)
{
n1=random(10)+1;
n2=random(10)+1;
n3=random(10)+1;
s1=(s1+n1)/2;
s2=(s2+n2)/2;
s3=(s3+n3)/2;
printf(«\t %10i | %10i | %10i |\n»,n1,n2,n3);
}
printf(«\t ————+—————+—————|\n»);
printf(«Srednee: %12.0f | %12.0f | %12.0f |»,s1,s2,s3);
getch();
}

3-123.cpp

//proverit’, budet li tsifra M vhodit’ v desyatichnuyu zapis’ chisla pow(n,k)

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
int m,n,k,s=1;
printf(«\tBudet li tsifra M vhodit’ v desyatichnuyu zapis’ chisla pow(n,k)\nVvedite tsifru M> «);
vvod:
scanf(«%i»,&m);
if(m>9||m<1)
{
printf(«Eto ne tsifra! Povtorit’ vvod> «);
goto vvod;
}
printf(«Vvedite chisla n i k (osnovanie i pokazatel’ stepeni): «);
scanf(«%i%i»,&n,&k);
for(int i=1;i<=k;i++)
s*=n;
k=0;
while(s!=0)
{
n=s%10;
s/=10;
if(n==m)
k++;
}
if(k)
printf(«Otvet: da, vhodit %i raz»,k);
else
printf(«Otvet: net, ne vhodit»);
getch();
}

3-048.cpp

//dano dejstvitel’noe chislo X i natural’noe N; vychislit’ S
// 1 sin x sin x2 sin x(2n-2)
// S= —— + —— + —— + … + ————
// sin x sin x2 sin x4 sin x(2n)

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
unsigned n,i;
float x,s=0;
printf(» 1 sin x sin x2 sin x(2n-2)\n S= —— + —— + —— + … + ————\n sin x sin x2 sin x4 sin x(2n)\nVvedite dejstvitel’noe X i natural’noe N: «);
scanf(«%f%u»,&x,&n);
for(i=1;i<=n;i++)
s+=sin(pow(x,2*i-2))/sin(pow(x,2*i));
printf(» S=%.4f»,s);
getch();
}

3-017.cpp

//pri natural’nom N i dejstvitel’nom X najti summu N chlenov ryada S
// sin 2x sin 3x sin nx
// S = sin x — —— + —— — (-1)(n-1)*——
// 2 3 n

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
unsigned i,n;
float x,s=0;
printf(» sin 2x sin 3x sin nx\n S = sin x — —— + —— — (-1)(n-1)*——\n 2 3 n\nVvedite natural’noe chislo N i dejstvitel’noe X: «);
scanf(«%u%f»,&n,&x);
for(i=1;i<=n;i++)
s+=pow(-1,i)*sin(x)/i;
printf(» S=%.2f»,s);
getch();
}

3-025.cpp

//vychislit’ summu ryada S pri natural’nom N
// 1 1 1 1
// S = 1 — — + — — — + … + pow(-1,n)*———
// 2 4 8 pow(2,n)

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()

{
clrscr();
unsigned n,i;
float f1=1,f2=1,s=0;
printf(» 1 1 1 1\n S = 1 — — + — — — + … + pow(-1,n)*———\n 2 4 8 pow(2,n)\nVvedite natural’noe N: «);
scanf(«%u»,&n);
for(i=1;i<=n;i++)
{
s+=(f1/f2);
f1=pow(-1,n);
f2=pow(2,n);
}
printf(» S=%.4f»,s);
getch();
}

3-046.cpp

//najti summu ch`tnyh n-znachnyh chisel

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
short n,i,a,b;
unsigned s=0;
printf(«Vvedite natural’noe chislo (1<=n<=4): «);
vvod_n:
scanf(«%i»,&n);
switch(n)
{
case 1:
a=1;
b=9;
break;
case 2:
a=10;
b=99;
break;
case 3:
a=100;
b=999;
break;
case 4:
a=1000;
b=9999;
break;
default:
printf(«Nevernyj vvod. Povtorit’: «);
goto vvod_n;
}
for(i=a;i<=b;i+=2)
s+=i;
printf(«Summa ch`tnyh %i-znachnyh chisel ravna %u»,n,s);
getch();
}

3-086.cpp

//ezhemesyachnaya stipendiya studenta sostavlyaet A rublej, rashody na prozhivanie
//prevyshayut stipendiyu i sostavlyayut B rublej v mesyats, povyshayas’
//ezhemesyachno na 3%; rasschitat’ summu deneg, kotorye nuzhno dobavit’,
//chtoby prozhit’ desyt’ mesytsev, ispol’zuya tol’ko stipendiyu plyus eti den’gi

#include <conio.h>
#include <stdio.h>
void main()

{
clrscr();
float a,b,s=0;
printf(«Vvedite razmer stipendii: «);
scanf(«%f»,&a);
printf(«Vvedite rashody na prozhivanie: «);
scanf(«%f»,&b);
for(int i=1;i<=10;i++)
{
s+=b-a;
b+=1.03;
}
printf(«Trebuetsya %.2f rublej»,s);
getch();
}

3-054.cpp

//pervonachal’nyj ob`m lesa P kubometrov, ezhzegodnyj prirost K%; cherez skol’ko
//let les budet vyrublen polnost’yu, esli godovoj plan zagotovki T kubometrov?

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned n=0;
float p,k,t;
printf(«Kakov pervonachal’nyj ob`m lesa (v kubometrah)? «);
scanf(«%f»,&p);
printf(«Kakov ezhegodnyj prirost lesa (v protsentah)? «);
scanf(«%f»,&k);
printf(«Godovoj plan lesozagotovki (v kubometrah): «);
scanf(«%f»,&t);
k=1.0+k/100;
while(p>0)
{
p=p*k-t;
n++;
}
printf(«Les budet vyrublen polnost’yu cherez %u let»,n);
getch();
}

3-004.cpp

//N detalej dolzhny projti obrabotku na tr`h stankah; skol’ko vremeni zajm`t obrabotka
//vseh detalej, esli dlya kazhdoj detali vvoditsya vremya obrabotki na tr`h stankah

#include <stdio.h>
#include <conio.h>
void main()

{
clrscr();
unsigned i,n;
float t1,t2,t3,s=0;
printf(«Skol’ko detalej nuzhno obrabotat’? «);
scanf(«%u»,&n);
printf(«Vvedite vremya obrabotki na kazhdom stanke dlya kazhdoj detali (v minutah):\n»);
for(i=1;i<=n;i++)
{
printf(«Detal’ N%u> «,i);
scanf(«%f%f%f»,&t1,&t2,&t3);
s+=t1+t2+t3;
}
printf(«Obschee vremya obrabotki vseh detalej — %f.0 minut»,s);
getch();