Даны действительные числа (n< =150) удалить из последовательности те члены , поpядковые номеpа котоpых кpатны 4 , сохpанив пpежним поpядок оставленных членов.(за- мечание: удалить из существующего массива, а не создавать но- вый

katy54445 katy54445    2   15.09.2019 05:10    0

Ответы
lololo781 lololo781  07.10.2020 16:12
Var 
a:array of real;
n,i,j:integer;
begin
Randomize;
write('n = ');
readln(n);
writeln('Исходный массив:');
SetLength(a,n);
for i:=0 to n-1 do
  begin
   a[i]:=10*random;
   write(a[i]:6:2);
  end;
writeln;
for j:=n div 4 downto 1 do
 begin
 for i:=4*j to Length(a)-1 do a[i-1]:=a[i];
 SetLength(a,Length(a)-1);
 end;
for i:=0 to Length(a)-1 do write(a[i]:6:2);
writeln;
end.

Пример:
n = 15
Исходный массив:
  8.17  9.96  5.06  9.34  2.91  7.37  3.64  7.22  2.83  3.04  2.02  9.09  0.32  5.10  9.35
  8.17  9.96  5.06  2.91  7.37  3.64  2.83  3.04  2.02  0.32  5.10  9.35
ПОКАЗАТЬ ОТВЕТЫ
мика0955 мика0955  07.10.2020 16:12
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int n,x;
   cout<<"n = ";  cin>>n;
   float a[n];
   srand(time(NULL));
   for (int i=0; i<n; i++)  {
      a[i]=(rand()%100);
      a[i]/=10;
      cout<<a[i]<<" ";
   }
   cout<<endl;
   int i=3;
   while (i<n) {
      for (int j=i; j<n-1; j++)  a[j]=a[j+1];      
      n--; 
      i+=3;
   }     
   for (int i=0; i<n; i++) cout<<a[i]<<" ";
   cout<<endl;
   system("pause");
   return 0;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика