IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Получить новый массив B из массива A заменой нулей массива
swe-4a
сообщение 25.01.2011 9:01
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Почему не работает? Паскаль АВС.
Дан двумерный массив A[m,n]. Получить сумму первой строки. Получить новый массив B из массива A заменой нулей массива A на сумму первой строки. Результаты выдать на экран.

PROGRAM kr_5; 

const
n = 3; m = 4;
var
a,b: array[1..n, 1..m] of real;
i: integer;
j: integer;
s: real;
begin
Writeln('значение элементов матрицы:');
for i:=1 to n do for j:=1 to m do readln(a[i,j]);
s:=0;
for i:=1 to 1 do
for j:=1 to m do
s:=s+a[1,j];
writeln(' = ',s:7:2);

begin

for i:=1 to n do for j:=1 to m do readln(a[i,j]);
a [i,j]:=b[i,j];
if a[ i,j ] =0 then begin b[i,j]:=Round(S);
writeln('massiv b', b[i,j]);
writeln;
end;

readln;
end;
end.


Сообщение отредактировано: мисс_граффити - 25.01.2011 10:12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 25.01.2011 10:12
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Смотри, что ты делаешь:
1. читаешь массив а
2. считаешь сумму (зачем там for i:=1 to 1 - не поняла, ну да фиг с ним, не о том речь)
3. опять читаешь массив а
4. какому-то из элементов (скорее всего, последнему) массива а присваиваешь какое-то значение из b (ничем не инициализированное... скорее всего, 0). это уже вне цикла. зачем???
5. если этот непонятный элемент равен нулю (вполне вероятно), изменяешь значение (скорее всего последнего) элемента из b

собственно, вопросы - зачем ты делаешь п.3-4?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
swe-4a
сообщение 25.01.2011 10:43
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Цитата(мисс_граффити @ 25.01.2011 10:12) *

Смотри, что ты делаешь:
1. читаешь массив а
2. считаешь сумму (зачем там for i:=1 to 1 - не поняла, ну да фиг с ним, не о том речь)
3. опять читаешь массив а
4. какому-то из элементов (скорее всего, последнему) массива а присваиваешь какое-то значение из b (ничем не инициализированное... скорее всего, 0). это уже вне цикла. зачем???
5. если этот непонятный элемент равен нулю (вполне вероятно), изменяешь значение (скорее всего последнего) элемента из b

собственно, вопросы - зачем ты делаешь п.3-4?

тогда вообще ни чего не понимаю....как получить новый массив из имеющегося при этом в новом массиве заменить нули старого на сумму первой строки старого массива?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 25.01.2011 10:56
Сообщение #4


Гость






> как получить новый массив из имеющегося

b:=a например

> при этом в новом массиве заменить нули старого на сумму первой строки старого массива?

for i := 1 to n do for j := 1 to m do
if a[i,j] = 0 then b[i,j] := s
else b[i,j] := a[i,j];
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.10.2024 16:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"