Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Виктор93
0 / 0 / 1
Регистрация: 18.09.2014
Сообщений: 50
1

Одномерные массивы. Найти наименьшую сумму из трех рядом стоящих чисел

03.12.2014, 13:12. Просмотров 543. Ответов 6
Метки нет (Все метки)

Даны целые числа k[0],...,k[n] (n = 12). Найти наименьшую сумму из трех рядом стоящих чисел. Помогите написать программу, пожалуйста!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 13:12
Ответы с готовыми решениями:

Найти наименьшую сумму из трех рядом стоящих чисел
всем привет. помогите пожалуйста решить задачку) Даны целые числа k,...,k (n=12). Найти наименьшую...

Найти наименьшую сумму из 3-ёх рядом стоящих чисел.
Даны целые числа k, ... , k (n=12). Найти наименьшую сумму из 3-ёх рядом стоящих чисел. Буду...

Массивы: Для каждой группы из m стоящих рядом членов вычислить её сумму
ещё бы вторую кто помог) и вообще красота) Дан массив a..a и число m<=n. Для каждой группы из m...

Одномерные массивы. Получить сумму отрицательных элементов, стоящих на нечётных местах и имеющих чётные значения
Не могу решить задачу , надеюсь поможете , заранее спасибо!)) Задан массив U. Найти номер...

6
Елена Едыгарова
35 / 21 / 14
Регистрация: 24.01.2014
Сообщений: 80
03.12.2014, 14:38 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
using System;
 
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int[] k = new int[12];
            Console.WriteLine("Введите числа:");
            for (int i = 0; i < k.Length; i++)
                k[i] = Convert.ToInt32(Console.ReadLine());
            int sum = k[0] + k[1] + k[2];
            for (int i = 1; i < k.Length-2; i++)
            {
                if (sum > k[i] + k[i + 1] + k[i + 2])
                    sum = k[i] + k[i + 1] + k[i + 2];
            }
            Console.WriteLine(sum);
        }
    }
}
Если я правильно поняла задачу
0
Rameron
Си-решеточник
138 / 132 / 60
Регистрация: 07.02.2011
Сообщений: 665
03.12.2014, 14:41 3
Вот функция, передаешь ей массив, она возвратит ту сумму, которая тебе надо:

C#
1
2
3
4
5
6
7
8
9
10
11
12
private int getLeastSum(int[] k)
        {
            int nLeastSum = int.MaxValue;
 
            for (int i = 0; i < k.Length - 2; i++)
            {
                int currentSum = k[i] + k[i + 1] + k[i + 2];
                nLeastSum = currentSum < nLeastSum ? currentSum : nLeastSum;
            }
 
            return nLeastSum;
        }
1
msg_kurt
59 / 16 / 11
Регистрация: 01.11.2014
Сообщений: 100
Завершенные тесты: 1
03.12.2014, 15:17 4
Я так понимаю, надо заполнить исходный массив, а потом, постоянно обрезая первый индекс этого массива, копировать сумму первых трех элементов в новый. Ну и вывести минимальное значение нового массива. Только с реализацией в коде все плохо=(

UPD: я слоупок, сорри=)
0
Rameron
Си-решеточник
138 / 132 / 60
Регистрация: 07.02.2011
Сообщений: 665
03.12.2014, 15:40 5
Цитата Сообщение от msg_kurt Посмотреть сообщение
а потом, постоянно обрезая первый индекс этого массива, копировать сумму первых трех элементов в новый.
Чего-чего? Тут же вообще другая задача. Зачем новые массивы создавать? Просто суммируем 1-3 элементы и сравниваем с текущей минимальной суммой, затем суммируем 2-4 элементы, сравниваем и так далее
0
msg_kurt
59 / 16 / 11
Регистрация: 01.11.2014
Сообщений: 100
Завершенные тесты: 1
03.12.2014, 15:48 6
Rameron, да-да, я уже понял. просто иногда как начну тормозить, так остановиться не могу, целый день уже Да и все никак не вникну в тернарные операторы.
0
sysrepos
66 / 62 / 26
Регистрация: 08.08.2013
Сообщений: 373
Записей в блоге: 1
03.12.2014, 18:25 7
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
class MyPro {
        static void Main() {
            int n;
            n=12;
            int[] arr = new int[n];
            int[] sum=new int[n-3+1];
            int min=0;
            
            
            MyLib.ArrRandom(arr);//метод заполняет рандомно массив
            MyLib.ArrPrint(arr); //метод печатает массив
            
            
            for (int j=0; j<10; j++) {
                sum[j]=arr[j]+arr[j+1]+arr[j+2];
            }
            
            MyLib.ArrPrint(sum);
            
            for (int j=0; j<9; j++) {
                min=sum[j];
                if (min>sum[j+1]) {
                    min=sum[j+1];
                }
            }
            
            Console.WriteLine("наименьшая сумма из трех рядом стоящих чисел "+min);
            
            Console.ReadLine();
        }
    }
0
03.12.2014, 18:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2014, 18:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Одномерные массивы. Получить сумму отрицательных элементов, стоящих на нечётных местах и имеющих чётные значения
Не могу решить задачу , надеюсь поможете , заранее спасибо!)) Дан массив Y. Получить сумму...

Найти сумму 3-х рядом стоящих элементов
Привет всем! Помогите с кодом задачи. Имеется массив (20х20) с числами от 0 до 49. Необходимо...

Найти сумму всех чисел стоящих выше главной диагонали матрицы, и сравнить ее с суммой чисел, стоящих ниже
Дан двумерный массив (N+15)x(N+15) найти сумму всех чисел стоящих выше главной диагонали и сравнить...

Найти номера первых двух рядом стоящих равных чисел
День добрый, помогите пожалуйста по информатике. Задание: Дан массив целых чисел-А={ai}, где...


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

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

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