2 / 2 / 0
Регистрация: 17.10.2012
Сообщений: 55
1

Как написать данную программу через функцию?

30.10.2012, 17:19. Показов 1281. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
      int i,a=0;
      float k=0,M[19]; 
         for(i=0;i<=19;i++)
           {
                       printf("Vvedite %d-i elemment",i);
                       printf("\n");
                       scanf("%f", &M[i]);
           }
         printf("\n");
                        
         for(i=0;i<=19;i++)
                       printf(" %f ",M[i]); 
         for (i=0;i<19;i++)    
                      if (M[i]>M[19]) 
                           {
                                 a=a+1;
                                 k=k+M[i];
                           } 
       printf("\n summa=%6.1f, kolichestvo=%d",k,a);
      getch();
}
начала делать.но не понимаю, как заменить массив на переменную Х:
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
float laba4 (float x)
{
 int i,a=0;
 float k=0;  
 for (i=0;i<19;i++)  
 if (M[i]>x) 
             {
              a=a+1;
              k=k+M[i];
             }
 return x;   
}
main()
{
 int i,a=0;
      float k=0,M[19]; 
      float laba4 (float x);
      float x;
         for(i=0;i<=19;i++)
           {
                       printf("Vvedite %d-i elemment",i);
                       printf("\n");
                       scanf("%f", &M[i]);
           }
         printf("\n");
         for(i=0;i<=19;i++)
         printf(" %f ",M[i]);
         for(i=0;i<=19;i++)
         x=M[i];
         laba4 (x);
         getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2012, 17:19
Ответы с готовыми решениями:

Как написать программу через функцию?
#include &lt;stdio.h&gt; int main() { int *a, i; double sum = 0, arithmeticAverage = 0; ...

Как написать данную рекурсивную функцию
Доброго времени суток, уважаемые форумчани! Первый раз пишу на форумах. Столкнулся на довольно...

Как написать данную в упражнении функцию в xcode?
Сумма внутренних углов треугольника должна быть равна 180 градусам. Создайте новую программу...

как написать данную программу через функцию?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; main() { int i,a=0; float...

1
28 / 26 / 14
Регистрация: 15.10.2012
Сообщений: 60
31.10.2012, 00:11 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Что именно должна делать функция, какие параметры принимать и что выдавать на выходе?
Дальнейшие рассуждения основываются на предположении, что функция должна:
1. Принимать значение текущего элемента массива (M[i]) и значение, с которым его нужно сравнить (M[19]).
2. Производить сравнение и изменять сответствующим образом перменные a и k.
3. Ничего не возвращать.


Вызов функции, думаю, будет таким (почти как вы и написали):
C++
1
2
3
4
5
for(i=0;i<=19;i++)
{
x=M[i];
laba4(x,M[19]);
}
Вот работающий код:

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void laba4 (float x1, float x2);
 
float k = 0.0;
int a = 0;
 
main()
{
 int i;
      float M[20];
      float x;
         for(i=0;i<20;i++)
           {
                       printf("Vvedite %d-i elemment",i);
                       printf("\n");
                       scanf("%f", &M[i]);
           }
         printf("\n");
 
         for(i=0;i<20;i++)
         printf(" %f ",M[i]);
 
         for(i=0;i<19;i++)
         {
         x=M[i];
         laba4 (x, M[19]);
         }
         printf("\n summa=%6.1f, kolichestvo=%d",k,a);
         getch();
}
 
void laba4 (float x1, float x2)
{
 int i;
 if (x1>x2)
             {
              a=a+1;
              k=k+x1;
             }
}
Внесено несколько изменений:
1. Вынесено объявление переменных a и k за функцию main. Для того, чтобы их можно было "увидеть" из функции laba4.
2. Чуть-чуть подправлены циклы for (из предположения, что в массиве 20 элементов, и первые 19 сравниваются с последним)
3. Объявление функции также вынесено за main. Для наглядности.
1
31.10.2012, 00:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2012, 00:11
Помогаю со студенческими работами здесь

Как написать данную программу через два цикла
есть код сказали сделать его через два цикла for и while. я не понимаю как написать еще один цикл...

Как правильно написать данную функцию?
В общем суть такова, при нажатии по карте - появляется модальное окно, где есть кнопка submit, но в...

Как написать такую программу через процедуру/функцию
Вот готовый вариант без процедуры/функции Программа считает количество способов разложения числа...

Как написать данную программу
в файле заданы натуральные числа подсчитать количество пар чисел отстоящих друг от друга не менее...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru