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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
#1

найти сумму чисел, расположенных перед первым минимальным. - C++

15.11.2011, 17:11. Просмотров 1083. Ответов 20
Метки нет (Все метки)

Помогите пожалуйста. Как найти сумму чисел, расположенных перед первым минимальным. ??? Не получается. Понимаю, что нужно использовать цикл, но как именно? Очень жду вашей помощи, хотя бы совета.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 17:11     найти сумму чисел, расположенных перед первым минимальным.
Посмотрите здесь:

Найти количество элементов, расположенных перед первым минимальным элементом - C++
Дано целое число N и набор из N целых чисел. Найти количество элементов, расположенных перед первым минимальным элементом.

Массив: Найти количество элементов, расположенных перед первым минимальным. - C++
Дан набор из n целочисленных элементов. Найти количество элементов, расположенных перед первым минимальным.

Найти сумму чисел стоящих перед первым отрицательным числом последовательности - C++
Написать программу, которая находит сумму чисел, которые стоят перед первым отрицательным числом последовательности.

Вывести сумму чисел расположенных между первым и последним нулем - C++
Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных...

В одномерном массиве найти сумму между первым и минимальным значением - C++
В одномерном массиве найти сумму между первым и минимальным значение . Я понял что это a = {6,4,5,2,7} он должен считать сумму между...

Найти сумму элементов массива, расположенных между минимальным и максимальным элементами - C++
дан вещественный массив A(n). найти сумму элементов массива, расположенных между минимальным и максимальным элементами.

Найти сумму элементов, расположенных между первым и последним нулевыми элементами - C++
Найти сумму элементов, расположенных между первым и последним нулевыми элементами не подскажет никто как в этом коде это сделать? ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 19:09     найти сумму чисел, расположенных перед первым минимальным. #16
Стоп, значит вам нужно создать бинарный файл, записать туда числа, потом суммировать числа до первого мин-ого элемента?
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 19:13  [ТС]     найти сумму чисел, расположенных перед первым минимальным. #17
Nursik77, совершенно верно. просто первую часть задачи я взял с другой своей задачи. (Там нужно было найти кол-во отрицательных чисел)
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
#include <stdio.h>
#include <iostream>
using namespace std;
 
// прототипы функций создания, просмотра и
// обработки бинарного файла
 
void create(void); 
void view(void);
void work(void);
 
int main(void)
{  create();
   view(); 
   work();
}
 
// определение функции создания бинарного файла
 
void create(void)
{ FILE * f;  
  int number, n;
  if ((f = fopen("D:\\file.dat","wb"))!= NULL)
   { cout << " Введите количество чисел :  "; 
      cin >> n;
       cout << " \nВведите целые числа : ";
       for (int i = 0; i < n; i++)
        { cin >> number;
          fwrite(&number,sizeof(int),1,f); 
       }
     fclose(f); 
    cout << "\nЧисла записаны в бинарный файл!";
    } 
 else 
  printf("\nОшибка создания файла!\n");
}
 
// определение функции просмотра бинарного файла
 
void view(void)
{  int number;
   FILE * f;
   if ((f = fopen("D:\\file.dat","rb"))!= NULL)
   { cout << "\nПросмотр бинарного файла: ";
     while (fread(&number,sizeof(int),1,f))
         cout << number << " ";
      cout << "\n"; 
      fclose(f);
     }
   else printf("\nОшибка открытия файла!\n");
}
 
// определение функции обработки бинарного файла
 
void work(void)
{ int number; 
  FILE * f; 
  int  k = 0;
  if ((f = fopen("D:\\file.dat","rb"))!= NULL)
  { while (fread(&number,sizeof(int),1,f))
       if (number < 0) k++;
    cout << "\nКоличество отрицательных чисел = " << k;
    cout << "\n";  
    fclose(f);
  }
 else  printf("\nОшибка открытия файла!\n");
}
Добавлено через 34 секунды
Пытался создать программу по аналогии но не получилось...может вы поможите?
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 19:54     найти сумму чисел, расположенных перед первым минимальным. #18
Вот в СИ кое-что накатал, в плюсы сам перепишешь. Прога записывает 10 чисел в бинарный файл, потом суммирует числа до первого мин-ого элемента.
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
#include <stdlib.h>
#include <stdio.h>
 
int main() {
    
    const int n = 10;
    int i, min, number, sum, a[n];
        
    char fname[] = "D:\\file.dat";
        FILE *fp; 
    fp = fopen(fname,"w"); 
    printf("Dannie budut vvedeni v file - %s\n", fname);
    puts("--------------------------------");
    
    if ((fp=fopen(fname, "rw")) == NULL)
     {
       printf("\nERROR Cannot open the file!");
       system("pause");
       return 0;
     }
  
  if ((fp = fopen(fname, "wb")) != NULL)
   { 
      printf("\nÂâåäèòå 10 Г·ГЁГ±ГҐГ« : ");
      int min = a[0], nomer = 0, sum = 0;
       for (i = 0; i < n; i++)
       scanf(" %d", &a[i]);
       for (i = 0; i < n; i++)
       if (a[i] < min)
        {
          min = a[i];
          nomer = i;
        }
        for (i = 0; i < nomer; i++)
        sum+=a[i];
        
        for (i = 0; i < n; i++)
        fprintf(fp,"%d ",a[i]);
        fprintf(fp,"\nThe sum = %d", sum);
 }                                         
 
   fclose(fp);
   puts("----------------------------------");
printf("Vvedennie dannie zapisani v file %s\n",fname);
system("pause");
return 0;
}
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 20:49  [ТС]     найти сумму чисел, расположенных перед первым минимальным. #19
Спасибо..сейчас постараюсь разобраться))

Добавлено через 2 минуты
Nursik77, Видишь еще в чем загвоздка, мне нужно чтобы четко выделялись 3 части программы:
C++
1
2
3
void create(void); 
void view(void);
void work(void);
Добавлено через 45 секунд
т.е. создание - просмотр, обработка)

Добавлено через 26 минут
Форумчане выручайте)
easybudda
Эксперт CЭксперт С++
9461 / 5474 / 927
Регистрация: 25.07.2009
Сообщений: 10,498
15.11.2011, 23:58     найти сумму чисел, расположенных перед первым минимальным. #20
Цитата Сообщение от Вася1q Посмотреть сообщение
как бы обойтись без массива?
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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct NODE {
    int value;
    struct NODE * next;
} node_t;
 
typedef struct LIST {
    node_t * first;
    node_t * last;
} list_t;
 
int add_node(list_t * list, const int value){
    node_t * node;
    
    if ( ! ( node = malloc(sizeof(node_t)) ) )
        return -1;
    node->value = value;
    node->next = NULL;
    
    if ( ! ( list->first ) )
        list->first = node;
    else
        list->last->next = node;
    list->last = node;
    
    return 0;
}
 
node_t * min_element(const list_t * list){
    const node_t * cur_node = list->first;
    const node_t * min_node = cur_node;
    
    while ( cur_node->next ){
        cur_node = cur_node->next;
        if ( cur_node->value < min_node->value )
            min_node = cur_node;
    }
    
    return (node_t*)min_node;
}
 
int sum_before_min_element(const list_t * list){
    int sum = 0;
    const node_t * cur_node = list->first;
    const node_t * min_node = min_element(list);
    
    while ( cur_node != NULL && cur_node != min_node ){
        sum += cur_node->value;
        cur_node = cur_node->next;
    }
    
    return sum;
}
 
void remove_nodes(list_t * list){
    while ( list->first ){
        list->last = list->first->next;
        free(list->first);
        list->first = list->last;
    }
}
 
int main(void){
    list_t list = { NULL, NULL };
    int value;
    
    while ( printf("> ") > 0 && scanf("%d", &value) == 1 ){
        if ( add_node(&list, value) ){
            fprintf(stderr, "Memory error!\n");
            exit(1);
        }
    }
    
    printf("Sum before min element: %d\n", sum_before_min_element(&list));
    
    remove_nodes(&list);
    
    exit(0);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 07:09     найти сумму чисел, расположенных перед первым минимальным.
Еще ссылки по теме:

Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением - C++
Одномерный массив. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом.Найти...

В массиве А найти сумму элементов, расположенных между минимальным и максимальным элементами массива - C++
Есть программа, которая выполняет следующее: 1) Ввод массива 3 разными способами. 2) Удаляет из массива первый из нечётных элементов. ...

Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами - C++
В одномерном массиве, состоящем из n целых элементов, вычислить: 2) сумму элементов массива, расположенных между первым и последним...

Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами - C++
В одномерном массиве,состоящем из n вещественных элементов, вычислить : 1.Номер минимального элемента массива 2.Сумма элементов массива,...

Найти сумму элементов массива, расположенных между первым и вторым негативными элементами - C++
1. Работа с одномерными массивами: В одномерном массиве, который состоит из п=10 элементов веществ, вычислить: 1) номер минимального...


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

Или воспользуйтесь поиском по форуму:
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
16.11.2011, 07:09  [ТС]     найти сумму чисел, расположенных перед первым минимальным. #21
О мой Бог))) это гениально)
Yandex
Объявления
16.11.2011, 07:09     найти сумму чисел, расположенных перед первым минимальным.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru