Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Условие
Даны три одномерных массива: A из 15, B из 20 и C из 10 элементов. Какой из массивов имеет наибольшее значение максимального по абсолютной величине элемента ?

текст программы приведён ниже... Она абсолютно верно считает средне арифмитическое значение,НО почему-ТО никак не может найти минимальное среди 3 средне арифмитических! я уже ВСЁ перепробовал :weep:


program mas3;


const
nmax=20;
na=15;
nb=20;
nc=10;

type
massiv=array[1..nmax] of real;


var
l:byte;
a,b,c:massiv;
sa,sb,sc,min:real;
name,z:char;
dat,res:text;


procedure input(n:byte; var mas:massiv);
var
i:byte;
begin
for i:=1 to n do
read(dat,mas[i]);
end;
procedure output(n:byte; mas:massiv; name_mas:char);
var
i:byte;
begin
writeln(res);
writeln(res,'massiv ',name_mas,' iz ',n:3,' elementov:');
for i:=1 to n do
write(res,mas[i]:3:1,' ');
writeln(res);
end;

procedure raschet(n:byte; mas:massiv; var sr:real);
var
i:byte;
s:real;
begin
for i:=1 to n do
s:=s+mas[i];
sr:=s/n;
end;

begin
assign(dat,paramstr(1));reset(dat);
assign(res,paramstr(2));rewrite(res);
writeln(res,'Zadacha MASS_3');



input(na,a);
input(nb,b);
input(nc,c);
output(na,a,'A');
output(nb,b,'B');
output(nc,c,'C');
raschet(na,a,sa);
raschet(nb,b,sb);
raschet(nc,c,sc);

writeln(res);


if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sa) AND (sa>sb) then z:='B'
else z:='C';


writeln(res,'naimen`shee sredne arifmiticheskoe znachenie vseh elementov imeet massiv ',z);



close(dat);
close(res);




end.



Партнер
 

Member
Статус: Не в сети
Регистрация: 17.02.2005
Откуда: Светловодск, UA
Цитата:
if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sa) AND (sa>sb) then z:='B'
else z:='C';


С два раза повторяется, не здесь ли косяк?

_________________
ПРОДАМ: мягкий уголок, оцинкованный, 1х1х1, с набивкой из шатунных вкладышей и коренных австралийских подшипников.


 

Исправил это-всё равно косячит...


 

Member
Статус: Не в сети
Регистрация: 09.07.2005
Откуда: Москва
Dead or Alive писал(а):
if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sa) AND (sa>sb) then z:='B'
else z:='C';

А косяк всеравно здесь.
Вот смотри. Первое условие A>C & B>C тогда С. Допустим оно не выполнилось.
Тогда у нас три варианта для второго условия
ACB : A<C , B>C + A>B полученный - ответ третии
BCA: A>C , B<C этот вариант не проходит так как у нас второе условия С>A - итоговый результат третий
AилиB: A<C , B<C + A>B этоговый результат второй или третий
Итог : ошибка есть при варианте BCA
Совет : плюнуть на все и записать тремя ифами :)


 

Junior
Статус: Не в сети
Регистрация: 01.10.2005
Цитата:
if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sa) AND (sa>sb) then z:='B'
else z:='C';


замени на
Цитата:
if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sb) AND (sa>sb) then z:='B'
else z:='A';


 

s:=0; догадайся где:D
Добавлено спустя 10 минут, 53 секунды
if (sa>sc) AND (sb>sc) then z:='C'
else if (sc>sa) AND (sa>sb) then z:='B'
else z:='C';

тоже ахинея - и сами условия и где 'A'?

пиши проще

if (sa<sb) and (sa<sc) then z:='A' else
if (sb<sa) and (sb<sc) then z:='B' else
if (sc<sa) and (sc<sb) then z:='C' else
z:='Х3, есть одинаковые значения';


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan