powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помощь в написании проги
12 сообщений из 12, страница 1 из 1
Помощь в написании проги
    #32365253
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребятки, помогите написать прогу на С (С++) которая должна вычислять L по формуле:
L = 10lg (k1*10 0,1(x1 + a1) + 10 0,1(x2 + a2) + 10 0,1(x3 + a3) + 10 0,1(x4 + a4) + 10 0,1(x5 + a5) + 10 0,1(x6 + a6) + 10 0,1(x7 + a7) + k2*10 0,1(x8 + a8) )
где k1 и k2 может принимать значения 1 либо 0
lg - десятичный логорифм
x1...8 - любые положительные числа
a1...8 - любые числа

Зарание огромное спасибо!
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365299
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
математику слабо вспомнить ?
____
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365316
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оч. тяжело )))
проблема в том, что синтаксис C не знаю (((
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365325
Gasanov2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй объяснить тому, кто заставляет тебя писать такую программу, в том что она ему не нужна.
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365342
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не тестировал. Если не работает - то это тебе на домашнее задание.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
#include<math.h>
#include<stdio.h>

int main()
{
double L= 0 . 0 , x[ 8 ],a[ 8 ], tmp;
int    k1=- 1 , k2=- 1 , i= 0 ;

while(i< 8 )
 { 
  printf( "Введите x[%d]: " ,i);
  scanf( " %f" ,x[i]);
  printf( "\n" );
  if(x[i]<= 0 ) printf( "Ошибка\n" );
  else i++;
 }

for(int i= 0 ;i< 8 ;i++)
 {
  printf( "Введите a[%d]: " ,i);
  scanf( " %f" ,a[i]);
  printf( "\n" );
 }

while(k1!= 1  || k1!= 0 )
 {
  printf( "Введите k1: " );
  scanf( " %d" ,k1);
  printf( "\n" );
 }

while(k2!= 1  || k2!= 0 )
 {
  printf( "Введите k2: " );
  scanf( " %d" ,k2);
  printf( "\n" );
 }

for(int i= 0 ;i< 8 ;i++)
 {
  tmp=pow10( 0 . 1 *(x[ 1 ]+a[ 1 ]));
  if(i== 0 ) tmp*=k1;
  if(i== 7 ) tmp*=k2;
  L+=tmp;
 }

L= 10 *log(L);
printf( "Результат: %f\n" ,L);
return( 0 );
}
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365343
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже не правильно.
Вместо tmp=pow10(0.1*(x[1]+a[1]));
Надо tmp=pow10(0.1*(x +a));
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365344
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Вместо tmp=pow10( 0 . 1 *(x[ 1 ]+a[ 1 ]));
Надо tmp=pow10( 0 . 1 *(x[i]+a[i]));
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365346
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо for(int i=0;i<8;i++)
Надо for(i=0;i<8;i++)
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365347
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2zayac
Огромное при огромное благодарю!
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365348
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня чуть другой вариант:
автор#include "stdafx.h"
#include "math.h"
#include "stdio.h"
int main(int argc, char* argv[]) {
int a1, a2, a3, a4, a5, a6, a7, a8, x1, x2, x3, x4, x5, x6 , x7, x8, k1, k2;
double l;
scanf(" %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8, &k1, &k2);
l = 10*log10( pow(k1*10, 0.1*(x1 + a1)) +
pow(10, 0.1*(x2+a2)) +
pow(10, 0.1*(x3+a3)) +
pow(10, 0.1*(x4+a4)) +
pow(10, 0.1*(x5+a5)) +
pow(10, 0.1*(x6+a6)) +
pow(10, 0.1*(x7+a7)) +
pow(k2*10, 0.1*(x8+a8)));
printf("l = %f\n", l);
return 0;
} Более ламерский (-:
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365375
Stalcer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я прогу отдебугил:
#include<stdafx.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>

int main()
{
float L=0.0, x[8],a[8], tmp;
int k1=-1, k2=-1, i=0;

while(i<8)
{
printf("Please enter x[%d]: ",i);
scanf(" %f",&x );
printf("\n");
if(x<=0) printf("Error\n");
else i++;
}

for(i=0;i<8;i++)
{
printf("Please enter a[%d]: ",i);
scanf(" %f",&a);
printf("\n");
}


while(k1!=1 && k1!=0)
{
printf("Please enter k1: ");
scanf(" %d",&k1);
printf("\n");
}

while(k2!=1)
{
if(k2==0) break;
printf("Please enter k2: ");
scanf(" %d",&k2);
printf("\n");
}

for(i=0;i<8;i++)
{
tmp=(float)pow(10,0.1*(x+a));
if(i==0) tmp*=k1;
if(i==7) tmp*=k2;
L+=tmp;
}

L=10*log(L);
printf("Result: %f\n",L);
getch();
return(0);
}

Но результат все равно не корректный :-(
Если
a0=-6 a1=-1 a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, x0=110, x1=108, x2=108, x3=109, x4=110, x5=110, x6=110, x7=110, k1=1, k2=0
то по L=268.9 а должно быть L=116 :-(
Прошу помощи :-)
...
Рейтинг: 0 / 0
Помощь в написании проги
    #32365570
123456789098
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще то ОТДЕБУГАЛ - это когда не только заработала, но и заработала правельно ;-)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помощь в написании проги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]