const n=10; var a: array[1..n] of integer; i,k,m,min,imin: integer; beginreadln(m); for i: =1 to m do beginreadln(a[i]); min: =min+a[i]; end;
for i: =1 to m do beginif a[i]< 0 then begink: =i; break; end; end;
for i: =1 to m do beginif a[i]< min then beginmin: =a[i]; imin: =i; end; end;
min: =a[imin]; a[imin]: =a[k]; a[k]: =min;
for i: =1 to m do write(a[i],' ');
end.
Виктор Попова
23.08.2022
13 сентября 1956 года, то есть более полвека назад компания ibm представила свой первый накопитель на жестких магнитных дисках (позднее данные устройства получили полуофициальное прозвище «винчестер») . и это изобретение со временем фактически создало огромную индустрию магнитных накопителей, без которых сейчас немыслимо ни одно мало-мальски мощное вычислительное устройство, поскольку подавляющее большинство информации, которыми оперируют эти самые вычислительные устройства, хранится именно на магнитных носителях.
nuralievelsh
23.08.2022
#include < stdio.h> #define maxsize 105 typedef struct station{ int x, y, z; } station; int abs(int x){ return x > = 0 ? x : -x; } int min(int a, int b){ return a < = b ? a : b; } int main(){ file *ist, *ost; station s[maxsize]; int w[maxsize][maxsize]; int inc[maxsize]; int n,i,j,k,m,l,r; ist = fopen("input.txt","r"); fscanf(ist, "%d", & n); for(i = 0; i < n; i++) fscanf(ist, "%d %d %d", & s[i].x, & s[i].y, & s[i].z); fclose(ist); for(i = 0; i < n; i++) inc[i] = 0; for(i = 0; i < n; i++) for(j = i; j < n; j++) w[i][j] = w[j][i] = min(abs(s[i].x - s[j].x), min(abs(s[i].y - s[j].y), abs(s[i].z - s[j].z)) ); r = 0; k = 1; inc[0] = 1; while(k < n){ m = -1; for(i = 0; i < n; i++) if(inc[i]) for(j = 0; j < n; j++) if(! inc[j]) if (m == -1 || w[i][j] < m) m = w[i][j], l = j; r += m; inc[l] = 1; k++; } ost = fopen("output.txt","w"); fprintf(ost,"%d", r); fclose(ost); return 0; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вмассиве а(n) поменяйте местами первый отрицательный и минимальный элементы
uses crt;
const n=10; var a: array[1..n] of integer; i,k,m,min,imin: integer; beginreadln(m); for i: =1 to m do beginreadln(a[i]); min: =min+a[i]; end;
for i: =1 to m do beginif a[i]< 0 then begink: =i; break; end; end;
for i: =1 to m do beginif a[i]< min then beginmin: =a[i]; imin: =i; end; end;
min: =a[imin]; a[imin]: =a[k]; a[k]: =min;
for i: =1 to m do write(a[i],' ');
end.