0 / 0 / 3
Регистрация: 07.12.2009
Сообщений: 14

Программка на С с массивом

13.01.2010, 13:27. Показов 1022. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста.
Задача:

Вычислить массив R, в соответствии с формулами, где i=l,n и x,h,a - заданы.
1) ri=0,9 sin (2ax-ih);
2) все элементы, удовлетворяющих условия |ri| < 0,5;
3) среднее арифметическое элементов, расположенных между первыми и последними положительными элементами.

Её надо сделать на С.
Эта же программа уже сделана на паскале.

Pascal
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
uses
crt;
var
x,h,a,n,i,s,f,j,p:integer;
r,k:array [1..100] of real;
sum,sredar:real;
begin
clrscr;
writeln('введите количество элементов массива');
write('N=');
readln(n);
writeln('введите X');
write('X=');
readln(x);
writeln('введите H');
write('H=');
readln(h);
writeln('введите A');
write('A=');
readln(a);
if n>0 then
 begin
 for i:=1 to n do
  begin
  r[i]:=0.9*(sin((2*a*x)-(i*h)));
  end;
 clrscr;
 writeln('массив R');
 for i:=1 to n do
  begin
  write('R[',i,']=',r[i]:4:2,'  ');
  end;
 writeln;
 s:=1;
 for i:=1 to n do
  begin
  if abs(r[i])>=0.5 then
   begin
   k[s]:=r[i];
   s:=s+1;
   end;
  end;
 writeln('массив K');
 for i:=1 to (s-1) do
  begin
  write('K[',i,']=',k[i]:4:2,'  ');
  end;
 writeln;
 sum:=0;
 j:=1;
 while (r[j]<=0) and (j<n) do
  begin
  j:=j+1;
  end;
 if n=0 then
  begin
  j:=0;
  end;
 writeln('первый положительный элемент массива R находится на ',j,' позиции');
 p:=n;
 while (r[p]<=0) and (p>1) do
  begin
  p:=p-1;
  end;
 writeln('последний положительный элемент массива R находится на ',p,' позиции');
 if j<p then
  begin
  for i:=(j+1) to (p-1) do
   begin
   sum:=sum+r[i];
   end;
  end;
 if (p-j)>1 then
  begin
  sredar:=sum/(p-j-1);
  writeln('среднее арифметическое =',sredar:0:2);
  end
  else writeln('среднее арифметическое не существует');
 end
 else writeln('Массив не существует');
readln;
end.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2010, 13:27
Ответы с готовыми решениями:

программка с массивом на C++ Builder....
Дан массив из 10 вещеста. чисел. Максимальный элемент массива увеличить в 2 раза, а минимальный элемент уменьшить в 2 раза. Вывести...

Программка
Помогите пожалуйста отредактировать программу.

Программка на Си++
Добрый вечер, пишу свою первую программу на с++ и вот какое условие стоит в ней, программу написал и она отрабатывает, но не могу понять...

2
 Аватар для ggmann
21 / 21 / 7
Регистрация: 06.10.2008
Сообщений: 173
13.01.2010, 20:41
Лучший ответ Сообщение было отмечено ildarn как решение

Решение

попробуй проверь эту программу

C++
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
 
int main()
{
    int x,h,a,n,i,s,f,j,p;
    float r[100],k[100];
    float sum,sredar;
    
    cout<<"vvedite kolichestvo elementov massiva"<<endl;
    cout<<"N=";
    cin>>n;
    cout<<"vvedite X"<<endl;
    cout<<"X=";
    cin>>x;
    cout<<"vvedite H"<<endl;
    cout<<"H=";
    cin>>h;
    cout<<"vvedite A"<<endl;
    cout<<"A=";
    cin>>a;
 
        
        if (n>0) {
        for (i=0; i<n; i++){
          
          r[i]=0.9*(sin((2*a*x)-(i*h)));
        }
        system("CLS");
         
        cout<<"massiv R";
        for (i=0; i<n; i++){
          //printf("R[ %d",i,"]= %4.2f \n",r[i]);
          cout<<"R["<<i+1<<"]="<<r[i]<<"\t";
        }
         cout<<endl;
         s=1;
        
         for (i=0; i<n; i++){
          if (abs(r[i])>=0.5) {
           k[s]=r[i];
           s++;
          }
        }
         
         cout<<"massiv K'";
         for(i=1; i<s-1; i++){        
          //printf("K[ %d",i,"]= %4.2f \n",k[i]);
          cout<<"K["<<i+1<<"]="<<k[i]<<"\t";
         }
         cout<<endl;         
         
         sum=0;
         j=1;        
         while ((r[j]<=0) && (j<n)){          
          j++;
         }
         if (n=0){
          j=0;
          }
         cout<<"pervyy polojitel'nyy element massiva R nahoditsya na "<<j+1<<" pozicii"<<endl;
         p=n;
         while ((r[p]<=0) && (p>1)){
          p--;
         }
         cout<<"posledniy polojitel'nyy element massiva R nahoditsya na "<<p+1<<" pozicii"<<endl;
         if (j<p) {
          for (i=(j+1); i<p-1; i++){
           sum=+r[i];
          }
         }
         if ((p-j)>1){
          sredar=sum/(p-j-1);
          printf("srednee arifmeticheskoe = %0.2f",sredar);
         }
          else cout<<"srednee arifmeticheskoe ne suschestvuet"<<endl;
         }
         else cout<<"Massiv ne suschestvuet"<<endl;
    
    system("PAUSE");
    return 0;
}
форматный вывод не везде получился извини)
если что не так выводит напиши, я так и не смог добиться чтобы массив существовал , не знаю какие значения нужны
1
0 / 0 / 3
Регистрация: 07.12.2009
Сообщений: 14
13.01.2010, 20:53  [ТС]
Цитата Сообщение от ggmann Посмотреть сообщение
попробуй проверь эту программу

C++
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
 
int main()
{
    int x,h,a,n,i,s,f,j,p;
    float r[100],k[100];
    float sum,sredar;
    
    cout<<"vvedite kolichestvo elementov massiva"<<endl;
    cout<<"N=";
    cin>>n;
    cout<<"vvedite X"<<endl;
    cout<<"X=";
    cin>>x;
    cout<<"vvedite H"<<endl;
    cout<<"H=";
    cin>>h;
    cout<<"vvedite A"<<endl;
    cout<<"A=";
    cin>>a;
 
        
        if (n>0) {
        for (i=0; i<n; i++){
          
          r[i]=0.9*(sin((2*a*x)-(i*h)));
        }
        system("CLS");
         
        cout<<"massiv R";
        for (i=0; i<n; i++){
          //printf("R[ %d",i,"]= %4.2f \n",r[i]);
          cout<<"R["<<i+1<<"]="<<r[i]<<"\t";
        }
         cout<<endl;
         s=1;
        
         for (i=0; i<n; i++){
          if (abs(r[i])>=0.5) {
           k[s]=r[i];
           s++;
          }
        }
         
         cout<<"massiv K'";
         for(i=1; i<s-1; i++){        
          //printf("K[ %d",i,"]= %4.2f \n",k[i]);
          cout<<"K["<<i+1<<"]="<<k[i]<<"\t";
         }
         cout<<endl;         
         
         sum=0;
         j=1;        
         while ((r[j]<=0) && (j<n)){          
          j++;
         }
         if (n=0){
          j=0;
          }
         cout<<"pervyy polojitel'nyy element massiva R nahoditsya na "<<j+1<<" pozicii"<<endl;
         p=n;
         while ((r[p]<=0) && (p>1)){
          p--;
         }
         cout<<"posledniy polojitel'nyy element massiva R nahoditsya na "<<p+1<<" pozicii"<<endl;
         if (j<p) {
          for (i=(j+1); i<p-1; i++){
           sum=+r[i];
          }
         }
         if ((p-j)>1){
          sredar=sum/(p-j-1);
          printf("srednee arifmeticheskoe = %0.2f",sredar);
         }
          else cout<<"srednee arifmeticheskoe ne suschestvuet"<<endl;
         }
         else cout<<"Massiv ne suschestvuet"<<endl;
    
    system("PAUSE");
    return 0;
}
форматный вывод не везде получился извини)
если что не так выводит напиши, я так и не смог добиться чтобы массив существовал , не знаю какие значения нужны
Ok, спасибо большое, буду пробовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2010, 20:53
Помогаю со студенческими работами здесь

Программка
Нужна помощь с прогой на с++, мы с ним на вы( суть такая: юзер вводит число n. Программа выдаёт табличку, где в каждой строке - результат...

программка
люди хелп нужно задачку решить в одномерном массиве состоящем из n вещественных элементов вычислить: 1) сумму положительных элементов(...

программка.
подскажите плз!!!!!

Программка
Здравствуйте, помогите сделать задание, нужно &quot;Ввести цифры словами, чтобы выводилось при написании цифр буквами цифрой&quot;. И можно с...

Программка
Тут в общем сорян за такую тему, нужна помощь (если не сложно), написать приложение небольшое: Создайте приложение для следующего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru