Задачи С++ (первый курс). Одномерные массивы. 21- 40 задача.


4-021.cpp
<———————————————————————->
//podschitat’ kolichestvo polozhitel’nyh, otritsatel’nyh i nulevyh elementov

#include <stdio.h>
#include <conio.h>

#define size 30


void main()

{
clrscr();
float a[size];
unsigned i,poz=0,neg=0,zero=0;
for(i=0;i<size;i++)
{
printf(«A[%u]> «,i+1);
scanf(«%f»,&a[i]);
if(a[i]==0)
zero++;
else
if(a[i]>0)
poz++;
else
neg++;
}
printf(«\n%u polozhitel’nyh, %u otritsatel’nyh, %u nulevyh elementov»,poz,neg,zero);
getch();
}
4-022.cpp
<———————————————————————->
//pomenyat’ mestami maksimal’nyj i minimal’nyj elementy massiva

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

{
clrscr();
int a[size],i,min=2147483647,max=-2147483648,indexmin,indexmax,t;
for(i=0;i<size;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
if(a[i]<min)
{
min=a[i];
indexmin=i;
}
else
if(a[i]>max)
{
max=a[i];
indexmax=i;
}
}
t=a[indexmin];
a[indexmin]=a[indexmax];
a[indexmax]=t;
printf(«\nRezul’tat:\n»);
for(i=0;i<size;i++)
printf(«A[%i]=%i\n»,i+1,a[i]);
getch();
}

4-023.cpp
<———————————————————————->
//pomenyat’ mestami sosednie elementy (ch`tnye s nech`tnymi)

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

{
clrscr();
int a[size],i,t;
for(i=0;i<size;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
for(i=0;i<size;i+=2)
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf(«\nRezul’tat:\n»);
for(i=0;i<size;i++)
printf(«A[%i]=%i\n»,i+1,a[i]);
getch();
}
4-024.cpp
<———————————————————————->
//vyvetsi elemeny s indeksami 1,2,4,16,32,…

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

{
clrscr();
int a[size],i,p=1;
for(i=0;i<size;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
printf(«\nRezul’tat:\n»);
for(i=1;i<size;i++)
if(i==p)
{
printf(«%i\n»,a[i]);
p*=2;
}
getch();
}
4-025.cpp
<———————————————————————->
//sformirovat’ iz massiva, sostoyaschego iz nulej i edinits,
//dva massiva — v odnom tol’ko nuli, v drugom tol’ko edinitsy

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

{
clrscr();
int a[size],b[size],c[size],i,j=0,k=0;
for(i=0;i<size;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
if(a[i]==1)
{
b[j]=1;
j++;
}
else
if(a[i]==0)
{
c[k]=0;
k++;
}
else
printf(«Nevernyj vvod!\n»);
}
printf(«\nRezul’taty:\n»);
for(i=0;i<j;i++)
printf(«B[%i]=%i\n»,i+1,b[i]);
for(i=0;i<k;i++)
printf(«C[%i]=%i\n»,i+1,c[i]);
getch();
}

4-026.cpp
<———————————————————————->
//najti proizvedenie chisel, bol’shih M ili soobschit’, chto takih net

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

{
clrscr();
int a[size],m,i,f=0;
float p=1;
printf(«Vvedite lyuboe tseloe chislo: «);
scanf(«%i»,&m);
printf(«Vvedite %i tselyh chisel:\n»);
for(i=0;i<size;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
if(a[i]>m)
{
p*=a[i];
f++;
}
}
if(f)
printf(«Proizvedenie chisel bol’she %i ravno %.0f»,m,p);
else
printf(«Net chisel bol’she %i»,m);
getch();
}

4-027.cpp
<———————————————————————->
//vyvesti te chisla, kotorye ne bol’she svoego indexa v massive

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

{
clrscr();
unsigned a[size],n,i;
for(i=0;i<size;i++)
{
printf(«A[%u]> «,i);
scanf(«%u»,&a[i]);
}
printf(«\nElementy, ne prevyshayuschie svoego indexa v massive\n»);
for(i=0;i<size;i++)
if(a[i]<=i)
printf(«%u(A[%u])\n»,a[i],i);
getch();
}
4-028.cpp
<———————————————————————->
//vyvesti elementy, ostatok ot deleniya kotoryh na M raven L (0<=L<=M-1)

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

{
clrscr();
unsigned a[size],M,L,i;
printf(«Vvedite natural’noe M: «);
scanf(«%u»,&M);
printf(«Vvedite natural’noe L (0<=L<=M-1): «);
scanf(«%u»,&L);
for(i=0;i<size;i++)
{
printf(«A[%u]> «,i+1);
scanf(«%u»,&a[i]);
}
printf(«\nUdovletvoryayut usloviyu A[i]%%%u==%u:\n»,M,L);
for(i=0;i<size;i++)
if(a[i]%M==L)
printf(«A[%u]=%u\n»,i+1,a[i]);
getch();
}
4-029.cpp
<———————————————————————->
//podschitat’ kolichestvo dvoek v massive s otsenkami za ekzameny

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

{
clrscr();
int a[size],i,k=0;
printf(«Vvedite otsenki %i chelovek:\n»,size);
for(i=0;i<size;i++)
{
printf(«%3i> «,i+1);
scanf(«%i»,&a[i]);
if(a[i]==2)
k++;
}
printf(«Ekzamen provalilo %i chelovek»,k);
getch();
}

4-030.cpp
<———————————————————————->
//vyvesti vse chisla do pervogo nulya

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

{
clrscr();
int a[size],i,n;
for(i=0;i<size;i++)
scanf(«%i»,&a[i]);
printf(«\nRezul’tat:\n»);
for(i=0;i<size&&a[i]!=0;i++)
printf(«%i\n»,a[i]);
getch();
}

4-031.cpp
<———————————————————————->
//raspechatat’ znacgeniya argumenta i funktsii iz massiva

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

{
clrscr();
float x,a[size];
int i=0;
for(x=-10;x<=10;x+=0.5)
{
a[i]=x;
a[i+1]=4*x*x+7*x+23;
i+=2;
}
for(i=0;i<size;i+=2)
printf(«x=%5.1f => y=%.2f\n»,a[i],a[i+1]);
getch();
}
4-032.cpp
<———————————————————————->
//prigodnost’ detali otsenivaetsya po razmeru B, kotoryj dolzhen sootvetstvovat’ intervalu (A-C;A+C;)
//esli v partii iz N detalej est’ brakovannye detali, podschitat’ ih

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

{
clrscr();
int i,k=0;
float a,c,b[size];
printf(«Vvedite razmery %i detalej:\n»,size);
for(i=0;i<size;i++)
scanf(«%f»,&b[i]);
printf(«Vvedite standart razmera: «);
scanf(«%f»,&a);
printf(«Vvedite dopustimuyu pogreshnost’: «);
scanf(«%f»,&c);
for(i=0;i<size;i++)
if(b[i]<a-c||b[i]>a+c)
k++;
if(k)
printf(«V partii %i brakovannyh detalej»,k);
else
printf(«Vse detali prigodny»);
getch();
}

4-033.cpp
<———————————————————————->
//est’ informatsii o soimosti kupli/prodazhi v bankah goroda
//opredelit’, v kakom banke vygodnee obmenyat’ dollary na rubli

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

{
clrscr();
int i,n,x=0;
float kurs[size],max;
printf(«Vvedite kolichestvo bankov v gorode: «);
scanf(«%i»,&n);
printf(«Vvedite kurs obmena v kazhdom iz bankov: «);
for(i=0;i<n;i++)
{
printf(«%2i. «,i+1);
scanf(«%f»,kurs[i]);
}
max=kurs[0];
for(i=0;i<n;i++)
if(kurs[i]>max)
{
max=kurs[i];
x=i+1;
}
printf(«Samyj vygodnyj kurs v banke N%i (%.3f)»,x,max);
getch();
}

4-034.cpp
<———————————————————————->
//najti summu maksimal’nogo iz nechetnyh i minimal’nogo iz chetnyh elementov

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

{
clrscr();
int a[size],i,max,min;
printf(«Vvedite %i tselyh chisel\n»,size);
for(i=1;i<size;i++)
scanf(«%i»,&a[i]);
min=a[0];
max=a[1];
for(i=1;i<size;i++)
if(i%2==0)
if(a[i]<min)
min=a[i];
else
if(a[i]>max)
max=a[i];
printf(«Summa maksimal’nogo iz nechetnyh i minimalnogo iz chetnyh — %i»,max+min);
getch();
}

4-035.cpp
<———————————————————————->
//ukazat’ te elementy posledovatel’nosti dejstvitel’nyh chisel,
//kotorye prinadlezhat otrezku [c;d]

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

{
clrscr();
randomize();
float a[size],c,d;
int i;
for(i=0;i<size;i++)
{
a[i]=(float)random(1000000)+(float)1/random(1000000);
printf(«%f\n»,a[i]);
}
printf(«\nVvedite granitsy otrezka [c;d]: «);
scanf(«%f%f»,&c,&d);
printf(«\nOtrezku [%.2f;%.2f] v etoj posledovatel’nosti prinadlezhat:\n»);
for(i=0;i<size;i++)
if(a[i]>=c&&a[i]<=d)
printf(«%f\n»,a[i]);
getch();
}

4-036.cpp
<———————————————————————->
//vychislit’ proizvedenie polozhitel’nyh elementov i proizvedenie otritsatel’nyh
//sravnit’ poluchennye proizvedeniya po modulyu

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

{
clrscr();
float a[size],pp=1,pn=1;
int i;
printf(«Vvedite %i dejstvitel’nyh chisel\n»,size);
for(i=0;i<size;i++)
scanf(«%f»,&a[i]);
for(i=0;i<size;i++)
if(a[i]<0)
pn*=a[i];
else
pp*=a[i];
if(pn<0)
pn=-pn;
if(pn>pp)
printf(«Proizvedenie polozhitel’nyh elementov bol’she proizvedeniya otritsatel’nyh»);
else
printf(«Proizvedenie otritsatel’nyh chisel bol’she proizvedeniya polozhitel’nyh»);
getch();
}
4-037.cpp
<———————————————————————->
//v massive zadany koordinaty N tochek ploskosti (x1,y1,x2,y2,…,xn,yn)
//opredelit’ minimal’nyj radius kruga s tsentrom v nachale koordinat,
//kotoryj soderzhit vse dannye tochki

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

{
clrscr();
int i;
float a[size],r=0,t;
printf(«Vvedite koordinaty (x;y) %i-i tochek\n»,size);
for(i=0;i<2*size;i+=2)
{
scanf(«%f%f»,&a[i],&a[i+1]);
t=a[i]*a[i]+a[i+1]*a[i+1];
if(t>r)
r=t;
}
printf(«Vse tochki soderzhit krug s radiusom %.2f»,r);
getch();
}

4-038.cpp
<———————————————————————->
//peremestit’ vse otritsatel’nye elementy v nachalo massiva, ostal’nye v konets;
//sohranit’ pri etom poryadok sledovaniya, dopolnitel’nyj massiv ne zavodit’

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

{
clrscr();
int a[size],i,p=0,j,n,t;
for(i=0;i<size;i++)
scanf(«%i»,&a[i]);
for(i=0;i<size;i++)
if(a[i]<0)
{
t=a[i];
a[i]=a[p];
a[p]=t;
p++;
}
printf(«\n Rezul’tat:\n»);
for(i=0;i<size;i++)
printf(«%i\n»,a[i]);
getch();
}
4-039.cpp
<———————————————————————->
//sredi polozhitel’nyh chisel najti te, kororye
//yavlyayutsya kvadratami nekotorogo chisla M

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

{
clrscr();
unsigned i,a[size],m;
printf(«Vvedite %i natural’nyh chisel:\n»);
for(i=0;i<size;i++)
scanf(«%u»,&a[i]);
printf(«Vvedite natural’noe chislo: «);
scanf(«%u»,&m);
printf(«Kvadratami chisla %u yavlyayutsya:\n»);
for(i=0;i<size;i++)
if(m*m==a[i])
printf(«%u\n»,a[i]);
getch();
}

4-040.cpp
<———————————————————————->
//Dan massiv natural’nyh chisel A. Obrazovat’ massiv B, sostoyaschij
//iz teh elementov A, kotorye okanchivayutsya na tsifru K

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

{
clrscr();
randomize();
unsigned a[size],b[size],i,j=0,k;
printf(«A:\n»);
for(i=0;i<size;i++)
{
a[i]=random(1000000);
printf(«%u\n»,a[i]);
}
printf(«Vvedite tsifru K: «);
scanf(«%u»,&k);
printf(«B:\n»);
for(i=0;i<size;i++)
if(a[i]%10==k)
{
b[j]=a[i];
printf(«%u\n»,b[j]);
j++;
}
getch();
}