Форум программистов, компьютерный форум CyberForum.ru

Найти сумму элементов массива с нечетными номерами - C++

Восстановить пароль Регистрация
 
Larka91
 Аватар для Larka91
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 27
10.04.2011, 23:06     Найти сумму элементов массива с нечетными номерами #1
Просьба помочь/дописать программу под условие задания (смотреть пр. файл) (

Задание:

H - сумма элементов массива с нечетными номерами
E - максимальный по модулю элемент массива
G - Количество отрицательных элементов массива

(H+E/(H+1))*G

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
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <conio.h>
 
int main()
{
 
FILE  *out;
int i,n,k;
int H,E,G;
float X;
int p;
printf("Vvedite chislo elementov v massive: ");
scanf("%i",&n);
 
int b[n];
printf("Vvedite %i element(a)(ov) massiva:\n",n);
for (i=0; i<n; i++)
scanf("%i",&b[i]);
 
printf("\n\nNachal'niy massiv: ");
for(i=0; i<n; i++)
printf("%i ", b[i]);
 
 
H=0; 
for (i=1;i<n;i+=2) 
H+=b[i];
printf("\nSumma elementov massiva s nechetnymi nomerami: \nH=%i",H); 
 
 
E=b[0];
for (i=0;i<n;i++) 
{if (abs(b[i])>abs(E))
E=b[i];}
printf("\nMaksimal'nyi po modulyu element massiva: \nE=%i",E); 
 
 
G=0;
for (i=0;i<n;i++) 
{if (b[i]>0) 
G++;}
printf("\nKolichestvo polojitel'nix elementov massiva: \nG=%i",G);
 
 
X=(H+E/(H+1))*G;
printf("\nVyrajenie: \n(H+E/(H+1)*G=%f",X); 
 
 
out=fopen("text_out1.txt","w");
printf("\n\nNagmite '1', esli xotite v file?");
scanf("%d",&p);
if(p==1)
fprintf(out,"Число элементов в массиве = %i \nСумма элементов массива с нечетными номерами H=%d \nМаксимальный по модулю элемент массива E=%d \nКоличество положительных элементов масива G=%d\nВыражение (H+E/(H+1)*G = %f",n,H,E,G,X);
fclose(out);
getch();
return 0;
}
Миниатюры
Найти сумму элементов массива с нечетными номерами  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 23:06     Найти сумму элементов массива с нечетными номерами
Посмотрите здесь:

Вычислить сумму элементов массива с нечетными номерами C++
Найти сумму элементов массива с нечетными номерами C++
Вычислить сумму элементов массива с нечетными номерами C++
Вычислить сумму элементов массива с нечетными номерами C++
Вычислить сумму элементов массива с нечетными номерами C++
Найти сумму элементов массива с нечетными номерами C++
C++ Вычислить сумму элементов массива с нечетными номерами
C++ Найти сумму элементов массива с нечетными номерами и произведение элементов между двумя отрицательными элем

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
10.04.2011, 23:47     Найти сумму элементов массива с нечетными номерами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
/*
H - сумма элементов массива с нечетными номерами
E - максимальный по модулю элемент массива
G - Количество отрицательных элементов массива
 
(H+E/(H+1))*G
*/
 
#include <stdio.h>
#include <math.h>
#include <iostream>//судя по тому что библиотека подключена, элементы с++ таки вам преподаются, почему бы её не использовать?
#include <conio.h>
 
int main()
{
 
    FILE  *out;
    int i,n,k,
        H,E,G,
        p;
    float X;
    printf("Vvedite chislo elementov v massive: ");
    scanf("%i",&n);
 
    /*int b[n]; очень удивила строка. Если не понимаете почему это ошибка обязательно что-нибудь почитайте*/
    int *b = (int*)malloc( n * sizeof(int));//malloc это сишное, если у вас таки с++ или хотябы его элементы, используй операции new и delate, в данном случае int *b = new int[n]; и delete[] n;
    //Назвали б массив как-нибудь поважнее...
    //malloc - настолько устарела что по современным стандартам её использовать - вообще не вариант. и прямое использование int *b = malloc( n * sizeof(int)) протсо не компилируется. необходимо указять явное приведение к типу.
 
    printf("Vvedite %i element(a)(ov) massiva:\n",n);//порадовал интерфейс
    for (i = 0; i < n; ++i)//++i выполняется немного быстрее чем i++
        scanf("%i",&b[i]);
 
    printf("\n\nNachal'niy massiv: ");
    for(i=0; i < n; ++i)
        printf("%i ", b[i]);
 
 
    H=0; 
    for (i = 1; i < n; ++(++i))//это намного прикольнее чем i+=2, да и выполняется, наверняка, быстрее
        H += b[i];
    printf("\nSumma elementov massiva s nechetnymi nomerami: \nH=%i",H); 
 
 
    E=b[0];
    for (i = 1; i < n;i++) 
    {
        if (abs(b[i]) > abs(E))
            E=b[i];
    }
    printf("\nMaksimal'nyi po modulyu element massiva: \nE=%i",E); 
 
 
    G=0;
    for (i = 0;i < n; i++) 
    {
        if (b[i] > 0) 
            ++G;
    }
    printf("\nKolichestvo polojitel'nix elementov massiva: \nG=%i",G);//в задание которое написано в посте написано что интересуют отритцательные
 
 
    X = ( H + E / ( H + 1 ) ) * G;//Подобные варажения, как правило - продукт объёмного анализа, из уважения пишите всё через пробел, да и боьлшинству чистать приятнее
    printf("\nVyrajenie: \n(H+E/(H+1)*G=%f",X); 
 
 
    out=fopen("text_out1.txt","w");
    printf("\n\nVvedite '1', esli xotite v file?");//исправил слово "Najmite"
    scanf("%d",&p);
    if(p==1)
        fprintf(out,"Число элементов в массиве = %i \nСумма элементов массива с нечетными номерами H=%d \nМаксимальный по модулю элемент массива E=%d \nКоличество положительных элементов масива G=%d\nВыражение (H+E/(H+1)*G = %f",n,H,E,G,X);//а фы файл видели
    fclose(out);
    //ещё б сообщение о том что данные сохранены...
 
    free(b);
 
    getch();
    return 0;
}
//поройтесь, есть методы избежать мороки с транслитом)) я в своё время сам написал функцию нормально выводящую русский текст
Добавлено через 2 минуты
пожалуйста, почитайте коменты в коде...
Larka91
 Аватар для Larka91
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 27
10.04.2011, 23:58  [ТС]     Найти сумму элементов массива с нечетными номерами #3
Спасибо, исправила
Yandex
Объявления
10.04.2011, 23:58     Найти сумму элементов массива с нечетными номерами
Ответ Создать тему
Опции темы

Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru