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

В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Sanya Black1993
2 / 0 / 1
Регистрация: 12.05.2012
Сообщений: 98
05.11.2012, 00:20     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #1
Ребят помогите найти ошибку в коде ...Заранее спасибо!!!
Тема:ОБРАБОТКА СТАТИЧЕСКИХ МАССИВОВ
вот задание: В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить:
11. Сумму элементов массива, расположенных после минимального элемента.
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>
 # define n 10     // определение константы n=50
 int   i, min,S,  a[n];       //описание массива целых чисел из  n элементов
 main()
{
 for (i=0; i<n; i++)
    {  printf( "\n vvedite element massiva  ");
        scanf ("%d", &a[i]);
        }
       for (i=1,min=a[0]; i<n; i++)
if  (min>a[i])
        { min=a[i];}
    printf("\n vivod elementov ishodnogo massiva : \n");
    for (i=0; i<n; i++)   printf ( "%6d", a[i] );
    for(i=0,S=5;i<n;i++)
    {
    if(a[i]=min)continue;
    S+=a[i];
    printf("%6d",S);
    } printf("%6d",S);
     printf ("\n Minimalnoe chislo v massive %5d " , min);
    getch();
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 00:20     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента
Посмотрите здесь:

C++ Вычислить сумму элементов массива (состоящего из N элементов) расположенных после минимального элемента
C++ В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю.
В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента C++
C++ В одномерном массиве вычислить сумму элементов, расположенных после максимального элемента
C++ В одномерном массиве, вычислить произведение положительных элементов, сумму элементов, расположенных до минимального, а также отсортировать массив.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
05.11.2012, 00:37     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #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
#include <stdio.h>
#include <conio.h>
#define n 10     // определение константы n=50
//почему были пробелы после знака #???
 int   i, min_id,S,  a[n];   
int main(){//почему не указан int main???
 for (i=0; i<n; i++){ 
     printf( "\n vvedite element massiva  ");
     scanf ("%d", &a[i]);
  }
  min_id=0;
 for(i=1;i<n;i++)
    if(a[i]<a[min_id])min_id=i
 printf("\n vivod elementov ishodnogo massiva : \n");
 for (i=0; i<n; i++)   printf ( "%6d", a[i] );
/*
    for(i=0,S=5;i<n;i++)//почему S=5???
    {
    if(a[i]=min)continue;//ты знаешь отличие = от ==  ???
    Ты вообще уверен, что знаешь как работает continue???
*/
  for (i=min_id, S=0; i<n; i++)  S+=a[i];
  printf("%6d",S);
  printf ("\n Minimalnoe chislo v massive %5d " , a[min_id]);
  getch();
  system("PAUSE");
  return 0;
}
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
05.11.2012, 01:21     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #3
Задание найти "Сумму элементов массива, расположенных после минимального элемента. ", а сами что делаете?
Вот код к заданию.
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
#include <windows.h> 
#include <iostream>
#include <conio.h>
 
#define size 10
 
using namespace std;
 
int main(){
    int min = 0, S = 0, sum = 0,  a[size] = {0};
    for(int i = 0; i < size; i++){
       cout << "Element " << i+1 << " = ";
       cin >> a[i];
       }
       int k = a[0];
       for(int i = 0; i < size; i++){
               if(k > a[i]){
                    k = a[i];
               }
       }
    for(int i = 0; i < size; i++){
            if(k == a[i]){
                    S = i;
                    break;
                    }
            }
       for(int i = S+1; i < size; i++){ //+1 если не включая минимальный элемент массива
               sum = sum + a[i];
               }
    cout << sum; 
    _getch();
}
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
05.11.2012, 01:26     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #4
Цитата Сообщение от JlightenDev_C++ Посмотреть сообщение
Задание найти "Сумму элементов массива, расположенных после минимального элемента. ", а сами что делаете?
Вот код к заданию.
Это вообще что? Вопрос? Ответ?

Добавлено через 3 минуты
Цитата Сообщение от JlightenDev_C++ Посмотреть сообщение
for(int i = 0; i < size; i++){
* * * * * * * *if(k > b[i]){
* * * * * * * * * * k = b[i];
* * * * * * * *}
* * * *}
* * for(int i = 0; i < size; i++){
* * * * * * if(k == a[i]){
* * * * * * * * * * S = i;
* * * * * * * * * * break;
* * * * * * * * * * }
* * * * * * }
* * * *for(int i = S+1; i < size; i++){ //+1 если не включая минимальное значение
* * * * * * * *sum = sum + a[i];
* * * * * * * *}
Зачем три цикла, если S=i можно сделать в первом и там же начать суммировать?

Добавлено через 48 секунд
Цитата Сообщение от JlightenDev_C++ Посмотреть сообщение
#include <windows.h>
#include <iostream>
#include <conio.h>
# define size 10
using namespace std;
int main(){
* * int min = 0, S = 0, sum = 0, k = 0, *a[size] = {0}, b[size] = {0};
* * for(int i = 0; i < size; i++){
* * * *cout << "Element " << i+1 << " = ";
* * * *cin >> a[i];
* * * *}
* * for(int i = 0; i < size; i++){
* * * * * b[i] = a[i];
* * * * * }
* * * *for(int i = 0; i < size; i++){
* * * * * * * *for(int j = 0; j < size; j++){
* * * * * * * *if(b[j] > b[j+1]){
* * * * * * * * * * * *k = b[j];
* * * * * * * * * * * *b[j] = b[j+1];
* * * * * * * * * * * *b[j+1] = k;
* * * * * * * *}
* * * *}
* * }
* * for(int i = 0; i < size; i++){
* * * * * * if(b[0] == a[i]){
* * * * * * * * * * S = i;
* * * * * * * * * * }
* * * * * * }
* * * *for(int i = S+1; i < size; i++){ //+1 если не включая минимальное значение
* * * * * * * *sum = sum + a[i];
* * * * * * * *}
* * cout << sum;
* * _getch();
}
А это вообще какое-то поэлементное копирование массива и последующая далеко не оптимальная сортировка.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
05.11.2012, 01:28     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #5
Переделал уже.
Sanya Black1993
2 / 0 / 1
Регистрация: 12.05.2012
Сообщений: 98
07.11.2012, 16:39  [ТС]     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента #6
спасибо ребят)
Yandex
Объявления
07.11.2012, 16:39     В одномерном целочисленном массиве вычислить сумму элементов, расположенных после минимального элемента
Ответ Создать тему
Опции темы

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