Ошибка - в том, что сначала нужно найти сумму, а только потом - заменять элементы.
VVVVУченик (85)
1 год назад
for i = 1:n
for j = 1:m
if (c(i,j)<a) && (c(i,j)>b)
s = s + c(i,j);
end;
if (c(i,j)<a) && (c(i,j)>b)
c(X,Y) = s;
end;
[Y,X] = c(j,i);
end;
end;
так или ?
VVVVУченик (85)
1 год назад
A = load('u.txt');
[n,m] = size(A);
f = fopen('file5.txt', 'wt');
fprintf(f, '\t ИСХОДНАЯ МАТРИЦА \n');
disp(A);
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
c=(A');
s=0;
for i = 1:n
for j = 1:m
if (c(i,j) < a) && (c(i,j) > b)
s = s + c(i,j)
end
end;
end
for i = 1:n
for j = 1:m
if (c(i,j) < a) && (c(i,j) > b)
c(i,j) = s
end
end;
end
A=(c');
f = fopen('file5.txt', 'a');
fprintf(f, '\t ПРЕОБРАЗОВАННАЯ МАТРИЦА \n');
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
A = load('г.txt');
[n,m] = size(A);
f = fopen('file.txt', 'wt');
fprintf(f, '\t ИСХОДНАЯ МАТРИЦА \n');
disp(A);
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);
c=(A');
s = 0;
for i = 1:n
for j = 1:m
[Y,X] = c(j,i);
if (c(j,i)<a) && (c(j,i)>b)
s = s + c(i,j);
end;
if (c(j,i)<a) && (c(j,i)>b)
c(X,Y) = s;
end;
end;
end;
A=(c');f = fopen('file.txt', 'a');
fprintf(f, '\t ПРЕОБРАЗОВАННАЯ МАТРИЦА \n');
for i = 1:n
for j = 1:m
fprintf(f, '\t %d', A(i,j));
end;
fprintf(f,'\n');
end;
fclose(f);