• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите доделать

  • Автор темы Автор темы Пень
  • Дата начала Дата начала

Пень

Ученик
Регистрация
6 Янв 2012
Сообщения
1
Реакции
0
Баллы
0
Помогите доделать

данная программа решает уравнение и я тока додумал чтоб выводила ответ на экран по столбцамб а мну надо примерно так. в заранее спс и если можно поясните что вы сделали
Х/Р p1 p2 p3 p4 p5
x1 С[i,j]С[i,j]С[i,j]С[i,j]С[i,j]
x2 С[i,j]С[i,j]С[i,j]С[i,j]С[i,j]
x3 С[i,j]С[i,j]С[i,j]С[i,j]С[i,j]
x4 С[i,j]С[i,j]С[i,j]С[i,j]С[i,j]
x5 С[i,j]С[i,j]С[i,j]С[i,j]С[i,j]
место p1-p5,x1-x5 место них должны стоять числа которые вводишь, C у меня это значение уравнения
в заранее спс и если можно поясните что вы сделали

program CHyr;
var
p,x,fl:array[1..5] of real;
A,B,C:array[1..5] of real;
i,j:integer;
begin
for i:=1 to 5 do
begin
writeln ('vvedite chislo x',i);
writeln ('vvedite chislo p',i);
readln (x,p);
end;
for i:=1 to 5 do
begin
A:=sqr(cos(p))*sqr(cos(p))*sqr(sin(p))*1/4*sin(2*x*p)+2;
if (x*x*x-5/2*p<>0) then
begin
B:=1/(x*x*x-5/2*p)*exp(abs(p)-abs(x));
C:=A/B;
fl:=1;
end
else
writeln('net reshenly');
end;
for i:=1 to 5 do
begin
if fl=1 then writeln (x,' ',p,' ',C)
else
writeln (x,' ',p,' ','net resheniy');
end;
readln;
end.
 
Ни бельмеса не понял. Вы можете выложить ясную, четкую и подробную формулировку задачи? Причем желательно на русском языке, а не на олбанском.
 
Насколько я понял, элементами массива должны являться значения функции, аргументы которой заданы в соответствующих строке и столбце.
Для заполнения и по строкам и по столбцам используйте вложенные циклы.
 
Насколько я понял, элементами массива должны являться значения функции, аргументы которой заданы в соответствующих строке и столбце.
Ясно.
Ну вот - исправил ошибки, "причесал", организовал вывод в требуемом формате:
Код:
program CHyr;
var
 p,x:array[1..5] of real;
 C:array[1..5,1..5] of real;
 fl:array[1..5,1..5] of boolean;
 A,B:real;
 i,j:integer;
begin
 for i:=1 to 5 do
  begin
   write('vvedite chislo x',i,' i chislo p',i,': ');
   readln (x[i],p[i]);
  end;
 for i:=1 to 5 do
  for j:=1 to 5 do
   begin
    A:=sqr(cos(p[j]))*sqr(cos(p[j]))*sqr(sin(p[j]))*1/4*sin(2*x[i]*p[j])+2;
    if (x[i]*x[i]*x[i]-5/2*p[j]<>0) then
     begin
      B:=1/(x[i]*x[i]*x[i]-5/2*p[j])*exp(abs(p[j])-abs(x[i]));
      C[i,j]:=A/B;
      fl[i,j]:=true;
     end
    else
     fl[i,j]:=false;
   end;
 writeln;
 write('  X\P   ');
 for i:=1 to 5 do write(p[i]:8:3);
 writeln;
 for i:=1 to 5 do
  begin
   write(x[i]:8:3);
   for j:=1 to 5 do
    if fl[i,j] then write(C[i,j]:8:3) else write('   -    ');
   writeln;
  end;
 readln;
end.
 
Назад
Сверху