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

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

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

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 17:15 #2
Цитата Сообщение от Вася1q Посмотреть сообщение
хотя бы совета.
1. Ищешь первый минимальный
2. Запоминаешь номер
3. Проходишь в цикле до этого номера и суммируешь массив.
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 17:27  [ТС] #3
Цитата Сообщение от Nursik77 Посмотреть сообщение
суммируешь массив.
Самое интересное что массивы мы еще не изучали!

Добавлено через 5 минут
Nursik77, Посоветуйте пожалуйста как бы обойтись без массива?

Добавлено через 5 минут
ФОРУМЧАНЕ) ВЫРУЧАЙТЕ! как без массива можно решить эту задачу???
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 17:33 #4
http://www.cyberforum.ru/cpp/thread197086.html
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 17:38  [ТС] #5
Nursik77, Спасибо))) Но блин...как же я лабу сдавать буду, когда еще лекций по массивам не было?(
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 17:42 #6
Скажи что массивы освоил
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 17:45  [ТС] #7
Nursik77, Ладно) попробую разобраться) А у тебя прога эта запускается? у меня лично нет((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <cstring>
int main()
{
const int n = 10;
float a[n];
for (int i = 0; i<n; i++)
        cin >> a[i];
float min=a[0], nomer=0, sum = 0;
for (int i = 0; i<n; i++)
        if (a[i] < min)
        {
        min = a[i];
      nomer = i;
      }
for (int i = 0; i<nomer; i++)
        sum+=a[i];
cout << sum;
}
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 17:51 #8
Какой компилятор юзаешь? код рабочий.

Добавлено через 36 секунд
В конце
C++
1
system("pause");
добавь.
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 17:59  [ТС] #9
Dev C++ юзаю..

Добавлено через 6 минут
Блин не компилирует(((((((
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 18:00 #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
const int n = 10;
float a[n];
for (int i = 0; i<n; i++)
        cin >> a[i];
float min=a[0], nomer=0, sum = 0;
for (int i = 0; i<n; i++)
        if (a[i] < min)
        {
        min = a[i];
      nomer = i;
      }
for (int i = 0; i<nomer; i++)
        sum+=a[i];
cout << sum;
system("pause");
}
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 18:20  [ТС] #11
Nursik77, Да-да-да using namespace std; строчка понадобилась)) Спасибо вам огромное))

Добавлено через 10 минут
Nursik77, Слушай, если тебе не сложно можешь мне словами описать, вот эту часть программы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
float a[n];
for (int i = 0; i<n; i++)
        cin >> a[i];
float min=a[0], nomer=0, sum = 0;
for (int i = 0; i<n; i++)
        if (a[i] < min)
        {
        min = a[i];
      nomer = i;
      }
for (int i = 0; i<nomer; i++)
        sum+=a[i];
Добавлено через 48 секунд
Я еще заменил пару строк на
C++
1
2
3
int n;
cout << "Vvedite kollichestvo chisel";
cin >> n;
Добавлено через 56 секунд
Чтобы можно было самому вводить кол-во чисел)
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 18:28 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
float a[n]; // массив из эн элементов
for (int i = 0; i<n; i++) // пробег по циклу
        cin >> a[i]; // ввод массива
float min=a[0], nomer=0, sum = 0; // первый элемент считаем минимумом, номеру мин-а и сумме массива присваиваем ноль
for (int i = 0; i<n; i++)  // пробег по циклу
        if (a[i] < min) // проверяем на минимальность 
        {
        min = a[i]; // находим мин.
      nomer = i; // запоминаем номер
      }
for (int i = 0; i<nomer; i++) // в цикле уже пробегаем до номера мин. элемента
        sum+=a[i]; // суммируем
...
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 18:53  [ТС] #13
Nursik77, Огромное вам спасибо) Не думал, что еще остались люди способные на бескорыстную помощь)

Добавлено через 4 минуты
Теперь самая важная часть моего задания)
мне нужно Создать бинарный файл f и записать в него действительные числа. Организовать просмотр бинарного файла и его обработку: найти сумму чисел, расположенных перед первым минимальным. На с концом задачи вы мне помогли))) Вот сейчас пытался совместить две части программы но ничего дельного не вышло. Вот код. Подредактируйте, если не сложно:
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
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
// ïðîòîòèïû ГґГіГ*êöèé ñîçäГ*Г*ГЁГї, ïðîñìîòðГ* ГЁ
// îáðГ*áîòêè ГЎГЁГ*Г*Г°Г*îãî ГґГ*éëГ*
 
void create(void); 
void view(void);
void work(void);
 
int main(void)
{  create();
   view(); 
   work();
}
 
// îïðåäåëåГ*ГЁГҐ ГґГіГ*êöèè ñîçäГ*Г*ГЁГї ГЎГЁГ*Г*Г°Г*îãî ГґГ*éëГ*
 
void create(void)
{ FILE * f;  
  int min=a[0], number=0, sum = 0;
  if ((f = fopen("D:\\file.dat","wb"))!= NULL)
   { cout << " Ââåäèòå êîëè÷åñòâî Г·ГЁГ±ГҐГ« :  "; 
      cin >> n;
       cout << " \nÂâåäèòå öåëûå Г·ГЁГ±Г«Г* : ";
       float min=a[0], nomer=0, sum = 0;
       for (int i = 0; i < n; i++)
             cin >> a[i] ;
       if (a[i] < min)
        {
        min = a[i];
      nomer = i;
      }
for (int i = 0; i < nomer; i++)
        sum+=a[i];
cout << sum;
 
}
        { 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");
}
system("pause");
}
Добавлено через 3 минуты
ой...немножко перепутал....
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
15.11.2011, 18:53 #14
Зачем вы поместили ее в функцию create? Главная функция у любой программы в с/с++ main. Туда ее и помещайте.
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
15.11.2011, 18:55  [ТС] #15
На счет количества отрицательных))) это из другой задачи)

Добавлено через 54 секунды
Nursik77, В смысле?)) в функцию обработки?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 18:55
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.11.2011, 18:55
Ответ Создать тему
Опции темы

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