Загрузка...

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


4-041.cpp
<———————————————————————->
//najti naibolee chasto vstrechayuscheesya chislo v mmassive
//esli takih chisel neskol’ko, to opredelit’ naimen’shee iz nih

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

#define n 15


void main()

{
clrscr();
int a[n],i,j,k,b[n],indB=0,count=0,min;
printf(«Vvedite %i tselyh chisel\n»,n);
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
for(i=0;i<n;i++)
{
k=0;
for(j=0;j<n;j++)
if(a[j]==a[i])
k++;
if(k==count)
{
b[indB]=a[i];
indB++;
}
else
if(k>count)
{
b[0]=a[i];
count=k;
indB=1;
}
}
min=b[0];
for(i=0;i<indB;i++)
if(b[i]<=min)
min=b[i];
printf(«\nNaimen’shee iz naibolee chasto vstrechayuschihsya chisel — %i»,min);
getch();
}

4-042.cpp
<———————————————————————->
//opredelit’ vremya C prebyvaniya v ocheredi i-togo pokupatelya,
//esli vremya obsluzhivaniya i-togo pokupatelya ravno T[i]

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

{
clrscr();
float a[n],c=0;
int i,k;
for(i=0;i<n;i++)
{
printf(«%i-tyj pokupatel’: «,i+1);
scanf(«%f»,&a[i]);
}
printf(«Nomer pokupatelya> «);
scanf(«%i»,&k);
for(i=0;i<n;i++)
c+=a[i];
printf(«\n%i-tyj pokupatel’ prozhdet %.2f»,c);
getch();
}
4-043.cpp
<———————————————————————->
//opredelit’ kol’tso s tsentrom v nachale koordinat, soderzhaschee vse tochki, koordinaty kotoryh zadany v massive

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

{
clrscr();
float a[2*N],R=0,r=MAXFLOAT,t;
int i;
for(i=0;i<2*N;i+=2)
{
printf(«Koordinaty tochki N%i: «);
scanf(«%f%f»,&a[i],&a[i+1]);
t=a[i]*a[i]+a[i+1]*a[i+1];
if(t>R)
R=t;
if(t<r)
r=t;
}
printf(«Vnutrennij radius kol’tsa — %.2f, vneshnij — %.2f»,sqrt(r),sqrt(R));
getch();
}

4-044.cpp
<———————————————————————->
//zamenit’ nulyami te chisla, velichina kotoryh po modulyu bol’she maksimal’nogo elementa

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

{
clrscr();
int a[n],max,i;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
max=a[0];
for(i=1;i<n;i++)
if(a[i]>max)
max=a[i];
for(i=0;i<n;i++)
if(abs(a[i])>max)
a[i]=0;
for(i=0;i<n;i++)
printf(«\nA[%i]=%i»,i+1,a[i]);
getch();
}

4-045.cpp
<———————————————————————->
//najti i zamenit’ nulem pervyj maksimal’nyj element massiva

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

{
clrscr();
int a[n],i,p=0,max;
printf(«Vvedite %i tselyh chisel\n»);
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
max=a[0];
for(i=0;i<n;i++)
if(a[i]>max)
{
max=a[i];
p=i;
}
a[p]=0;
for(i=0;i<n;i++)
printf(«\n%i»,a[i]);
getch();
}
4-046.cpp
<———————————————————————->
//vstavit’ chislo v neubyvayuschyuyu posledovatel’nost’, sohraniv e` neubyvayuschej

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

{
clrscr();
float a[n],b;
int i,k=0,t;
printf(«Vvedite neubyvayuschyuyu posledovatel’nost’ iz %i dejstvitel’nyh chisel\n»,n-1);
for(i=0;i<n-1;i++)
scanf(«%f»,&a[i]);
printf(«Vvedite chislo: «);
scanf(«%f»,&b);
for(i=0;i<n&&b>a[i];i++)
k++;
for(i=n-1;i>k;i—)
{
t=a[i];
a[i]=a[i-1];
a[i-1]=t;
}
a[k]=b;
for(i=0;i<n;i++)
printf(«\n%.2f»,a[i]);
getch();
}

4-047.cpp
<———————————————————————->
//zamenit’ naimen’shij chlen posledovatel’nosti tseloj chast’yu srednego arifmeticheskogo ostal’nyh
//esli naimen’shih chlenov neskol’ko, to zamenit’ poslednij po poryadku

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

{
clrscr();
int a[n],i,sum,min,indexmin;
printf(«Vvedite %i tselyh chisel\n»);
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
sum=0;
min=a[0];
for(i=0;i<n;i++)
{
sum+=a[i];
if(a[i]<min)
{
indexmin=i;
min=a[i];
}
}
a[indexmin]=sum/n;
for(i=0;i<n;i++)
printf(«\n%i»,a[i]);
getch();
}

4-048.cpp
<———————————————————————->
//esli a[i]<=0, uvelichit’ b[i] v 10 raz, inache zamenit’ b[i] nulem

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

{
clrscr();
int a[n],b[n],i;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
for(i=0;i<n;i++)
{
printf(«B[%i]> «,i+1);
scanf(«%i»,&b[i]);
}
for(i=0;i<n;i++)
if(a[i]<=0)
b[i]*=10;
else
b[i]=0;
for(i=0;i<n;i++)
printf(«B[%i]=%i\n»,i+1,b[i]);
getch();
}
4-049.cpp
<———————————————————————->
//umnozhit’ vse otritsatelnye chleny posledovatel’nosti na kvadrat
//ee naibol’shego chlena, a polozhitel’nye — na kvadrat naimen’shego

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

{
clrscr();
int a[n],i;
printf(«Vvedite %i tselyh chisel»,n);
for(i=0;i<n;i++)
scanf(«%i»);
int min=a[0],max=a[0];
for(i=0;i<n;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
min*=min;
max*=max;
for(i=0;i<n;i++)
if(a[i]<0)
a[i]*=min;
else
a[i]*=max;
for(i=0;i<n;i++)
printf(«\n%i»,a[i]);
getch();
}
4-050.cpp
<———————————————————————->
//najti sredi n tochek ploskosti takie dve tochki, mezhdu kotorymi maksimal’noe rasstoyanie

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

{
clrscr();
float x[n],y[n],r=0;
int i,j,A,B;
for(i=0;i<n;i++)
{
printf(«Tochka M%i (x;y): «,i+1);
scanf(«%f%f»,&x[n],&y[n]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])>r)
{
A=i;
B=j;
r=(x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
}
printf(«Naibol’shee rasstoyanie mezhdu tochkami M%i(%f;%f) i M%i(%f;%f)»,A+1,x[A],y[A],B+1,x[B],y[B]);
getch();
}
4-051.cpp
<———————————————————————->
//najti summu chlenov, raspolozhennyh mezhdu maksimal’nym i minimal’nym, vklyuchiv v summu oba etih chisla

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

{
clrscr();
int a[n],i,indexmin=0,indexmax=0;
float s=0;
printf(«Vvedite %i tselyh chisel\n»,n);
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
int min=a[0],max=a[0];
for(i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
indexmax=i;
}
if(a[i]<min)
{
min=a[i];
indexmin=i;
}
}
if(indexmin<indexmax)
for(i=indexmax;i<indexmin;i++)
s+=a[i];
else
for(i=indexmin;i<indexmax;i++)
s+=a[i];
printf(«\nIskomaya summa ravna %.0f»,s);
getch();
}

4-052.cpp
<———————————————————————->
//najdya v massive tselyh chisel minimal’nyj element m i maksimal’nyj M,
//poluchit’ v poryadke vozrastaniya vse tselye chisla iz intervala (m;M),
//kotorye ne vhodyat v etot massiv

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

{
clrscr();
int a[n],i,j;
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
int m=a[0],M=a[0];
for(i=0;i<n;i++)
{
if(a[i]>M)
M=a[i];
if(a[i]<m)
m=a[i];
}
for(i=m+1;i<M;i++)
{
int f=1;
for(j=0;j<n;j++)
if(a[j]==i)
f=0;
if(f)
printf(«\n%i»,i);
}
getch();
}
4-053.cpp
<———————————————————————->
//poluchit’ novyj massiv deleniem kazhdogo elementa ishodnogo na ego maksimal’nyj element

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

{
clrscr();
float a[n],b[n];
int i;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%f»,&a[i]);
}
float max=a[0];
for(i=0;i<n;i++)
if(a[i]>max)
max=a[i];
for(i=0;i<n;i++)
b[i]=a[i]/max;
for(i=0;i<n;i++)
printf(«\nB[%i]=%.3f»,i+1,b[i]);
getch();
}

4-054.cpp
<———————————————————————->
//kazhdyj solnechnyj den’ ulitka podnimaetsya na 2 sm po derevu,
//a kahdyj pasmurnyj — spuskaetsya na 1 sm
//v nachale nablyudeniya ulitka sidela v A sm ot zemli na B-santimetrovom dereve
//imeya massiv so svedeniyami o pogode, opredelit’ polozhenie ulitki v lyuboj den’

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

{
clrscr();
int a[n],i,A,B,N;
printf(«\tUlitka na dereve\nVvedite svedeniya o pogode za %i dnej\nVvedite 0, esli byl solnechnyj den’, vvedite 1, esli byl pasmurnyj den'»,n);
for(i=0;i<n;i++)
{
printf(«Den’ %i: «,i+1);
scanf(«%i»,&a[i]);
}
printf(«Vvedite vysotu dereva: «);
scanf(«%i»,&B);
printf(«Vvedite nachal’noe polozhenie ulitki: «);
scanf(«%i»,&A);
printf(«Vvedite nomer dnya: «);
scanf(«%i»,&N);
for(i=0;i<n&&A<B;i++)
if(a[i])
A++;
else
A+=2;
if(A>B)
printf(«Za %i dnej ulitka upolzet s dereva»,N);
else
printf(«Za %i dnej ulitka budet na vysote %i sm»,N,A);
getch();
}

4-055.cpp
<———————————————————————->
//vybrosit’ iz ishodnoj posledovatel’nosti te chleny, kotorye ravny minimal’nomu elementu

#include <conio.h>
#include <stdio.h>
#include <values.h>
#define n 15
void main()

{
clrscr();
int a[n],b[n],i,j=0,min=MAXINT;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
if(a[i]<min)
min=a[i];
}
for(i=0;i<n;i++)
if(a[i]!=min)
{
b[j]=a[i];
j++;
}
for(i=0;i<n;i++)
printf(«B[%i]=%i\n»,i+1,b[i]);
getch();
}
4-056.cpp
<———————————————————————->
//vybrosit’ iz tselochislennogo massiva kazhdyj vtoroj element
//dopolnitel’nyj massiv me ispol’zovat’

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

{
clrscr();
int a[n],i,k=0;
for(i=0;i<n;i++)
{
printf(«a[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
for(i=0;i<n;i++)
if(i%2==0)
{
a[k]=a[i];
k++;
}
for(i=0;i<k;i++)
printf(«a[%i]=%i\n»,i+1,a[i]);
getch();
}

4-057.cpp
<———————————————————————->
//szhat’ massiv, vybrosiv iz nego nulevye elementy

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

{
clrscr();
int a[n],i,k=0;
for(i=0;i<n;i++)
scanf(«%i»,&a[i]);
for(i=0;i<n;i++)
if(a[i])
{
a[k]=a[i];
k++;
}
for(i=0;i<k;i++)
printf(«\n%i»,a[i]);
getch();
}
4-058.cpp
<———————————————————————->
//v odin massiv pomestit’ elementy ishodnogo s chetnymi nomerami, v drugoj — s nechetnymi

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

{
clrscr();
int A[n],B[n/2+1],C[n/2+1],i,iB=0,iC=0;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i);
scanf(«%i»,&A[i]);
}
for(i=0;i<n;i++)
if(i%2)
{
B[iB]=A[i];
iB++;
}
else
{
C[iC]=A[i];
iC++;
}
for(i=0;i<iB;i++)
printf(«\nB[%i]=%i»,i,B[i]);
for(i=0;i<iC;i++)
printf(«\nC[%i]=%i»,i,C[i]);
getch();
}
4-059.cpp
<———————————————————————->
//najti v massive dva chlena, srednee arifmeticheskoe kotoryh blizhe vsego k dejstvitel’nomu X

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

{
clrscr();
float a[n],x,d;
int i,j,k1,k2;
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%f»,&a[i]);
}
printf(«Vvedite dejstvitel’noe chislo: «);
scanf(«%f»,&x);
d=x;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(i!=j)
if(abs((a[i]+a[j])/2-x)<d)
{
d=abs((a[i]+a[j])/2-x);
k1=i;
k2=j;
}
printf(«Nomera iskomyh elementov — %i i %i»,k1,k2);
getch();
}
4-060.cpp
<———————————————————————->
//proverit’, vhodyat li vse chleny pervoj posloedovatel’nosti vo vtoruyu

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

{
clrscr();
int a[n],b[m],f[n],i,j,k=0;
printf(«Vhodyat li vse chleny posledovatel’nosti A v posledovatel’nost’ B\n»);
for(i=0;i<n;i++)
{
printf(«A[%i]> «,i+1);
scanf(«%i»,&a[i]);
}
for(j=0;j<m;j++)
{
printf(«B[%i]> «,j+1);
scanf(«%i»,&b[j]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i]==b[j])
f[i]=1;
for(i=0;i<n;i++)
if(a[i])
k++;
if(k==n)
printf(«Otvet: da»);
else
printf(«Otvet: net»);
getch();
}