Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
11 / 11 / 4
Регистрация: 14.09.2009
Сообщений: 134

Сумма элементов массива

18.10.2010, 01:05. Показов 2729. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задание:Сумму элементов массива, расположенных между первым и последним положительными элементами.
Это пример,на одномерный массив.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] a = { 3, 12, 5, -9, 8, -4 };
            int perv = 0;
            int posl = 0;
            int i = 0;
            int s = 0;
            while ((a[i] < 0) && (i < a.Length)) i++;
            perv = i;
            i = a.Length - 1;
            while ((a[i] < 0) && (i > 0)) i--;
            posl = i;
            for (int j = perv; j <= posl; ++j) s = s + a[j];
            Console.WriteLine("Сумма положительных чисел равна = "+s);
            Console.ReadLine();
        }
    }
}
Напиши пожалуйста программу с двумерным,у меня не получается,пишет ошибки,а я не могу понять как исправить.
Очень буду благодарен за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2010, 01:05
Ответы с готовыми решениями:

Количество положительных элементов массива, сумма элементов массива после последнего элемента, равного нулю
В одномерном массиве, который состоит из n действительных элементов, рассчитать: а) количество положительных элементов массива; б) сумму...

Сумма элементов массива
Здравствуйте! Задание было: Дан одномерный массив, состоящий из n вещественных элементов. Найти сумму элементов массива, находящихся между...

Сумма элементов массива
Нужно на C# разработать алгоритм нахождения наиболее близкой к заданному целому числу суммы элементов заданного массива. Я уже весь мозг...

8
3 / 2 / 1
Регистрация: 28.05.2010
Сообщений: 121
18.10.2010, 01:13
Элементы как считать горизонтально?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
18.10.2010, 08:27
franken, ошибки элементарные, посмотри свою пограмму отладчиком (F10), думаю все поймешь
0
11 / 11 / 4
Регистрация: 14.09.2009
Сообщений: 134
18.10.2010, 10:39  [ТС]
Цитата Сообщение от Penigina Посмотреть сообщение
Элементы как считать горизонтально?
Да)
вот к примеру массив :
-1 2 3
4 5 6
-7 8 -9
мне надо чтобы программа посчитала сумму следующих элементов:
2+3+4+5+6+(-7)+8
и вывести результат.

то бишь самое первое положительное число с начала массива и с конца массива !!!!перед отрицательным последним элементом(то бишь мы просматриваем массив с конца,чтобы не ошибиться что это последний оттрецательный элемент,пример в одномерном массиве).
Ребят,помогите пожалуйста с задачкой.

Цитата Сообщение от nio Посмотреть сообщение
franken, ошибки элементарные, посмотри свою пограмму отладчиком (F10), думаю все поймешь
Я вчера перед тем как тут тему создать это все делал.
Вот логика:
объявляю массив,сам заполняю его числа,не подумай все правильно написано!
затем for затем еще for просматриваю ими массив и вывожу на экран.
но потом я не могу понять почему не могу использовать индексы в массиве i,j ,пишет что локальной i либо j не присвоено значение,то бишь a[i,j] не видит.
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
18.10.2010, 11:44
Цитата Сообщение от franken Посмотреть сообщение
но потом я не могу понять почему не могу использовать индексы в массиве i,j ,пишет что локальной i либо j не присвоено значение,то бишь a[i,j] не видит.
Твой предыдущий пример на одномерный массив. Покажи как ты реализуешь именно двухмерный.
0
3 / 2 / 1
Регистрация: 28.05.2010
Сообщений: 121
18.10.2010, 11:49
Держи, намудрил непонятно что... Но работает по моему)))
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace _22
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = new int[3,3];
            for(int i=0;i<3;i++)
            for(int j=0;j<3;j++)
            
                a[i,j] = Convert.ToInt32(Console.ReadLine());
            
            int min = 1, max = 3*3;
            int k=1;
            for(int i=0;i<3;i++)
                for (int j = 0; j < 3; j++)
                { 
                    
                    if (a[i, j] > 0)
                        if (min > k)
                            min = k;
                    k++;
                }
            k = 1;
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                {
                   
                    if (a[i, j] > 0)
                        if (max < k)
                            max = k;
                    k++;
                }
            int s = 0;
            int q = 1;
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                {
                    if (q <max && q > min)
                        s += a[i, j];
                    q++;
                }
            Console.WriteLine(s);
            Console.ReadLine();
        }
    }
}
0
Заблокирован
18.10.2010, 11:58
так вроде тоже работает
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = { { -1, 2, 3 }, { 4, 5, 6 }, { -7, 8, -9 } };
            int perv = -1;
            int posl = -1;
            int i = 0;
            int s = 0;
            foreach (int z in a)
            {
                if (z < 0)
                {
                    posl = i;
                    if (perv < 0)
                        perv = i;
                }
                i++;
            }
            i=0;
            foreach (int z in a)
            {
                if (i > perv && i < posl)
                    s += z;
                i++;
            }
            Console.WriteLine("Сумма положительных чисел равна = " + s);
            Console.ReadLine();
        }
    }
}
0
11 / 11 / 4
Регистрация: 14.09.2009
Сообщений: 134
18.10.2010, 19:51  [ТС]
Цитата Сообщение от Penigina Посмотреть сообщение
Держи, намудрил непонятно что... Но работает по моему)))
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace _22
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = new int[3,3];
            for(int i=0;i<3;i++)
            for(int j=0;j<3;j++)
            
                a[i,j] = Convert.ToInt32(Console.ReadLine());
            
            int min = 1, max = 3*3;
            int k=1;
            for(int i=0;i<3;i++)
                for (int j = 0; j < 3; j++)
                { 
                    
                    if (a[i, j] > 0)
                        if (min > k)
                            min = k;
                    k++;
                }
            k = 1;
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                {
                   
                    if (a[i, j] > 0)
                        if (max < k)
                            max = k;
                    k++;
                }
            int s = 0;
            int q = 1;
            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                {
                    if (q <max && q > min)
                        s += a[i, j];
                    q++;
                }
            Console.WriteLine(s);
            Console.ReadLine();
        }
    }
}
намудрил круто
---прога работает)))но минус в том,я не могу вписать отрецательное число,когда заполняю массив,а мне отрецательное число имбо условие такое


Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
так вроде тоже работает
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a = { { -1, 2, 3 }, { 4, 5, 6 }, { -7, 8, -9 } };
            int perv = -1;
            int posl = -1;
            int i = 0;
            int s = 0;
            foreach (int z in a)
            {
                if (z < 0)
                {
                    posl = i;
                    if (perv < 0)
                        perv = i;
                }
                i++;
            }
            i=0;
            foreach (int z in a)
            {
                if (i > perv && i < posl)
                    s += z;
                i++;
            }
            Console.WriteLine("Сумма положительных чисел равна = " + s);
            Console.ReadLine();
        }
    }
}
Да работает,пасибо большое=)разобрался в логике работы программы.

Цитата Сообщение от nio Посмотреть сообщение
Твой предыдущий пример на одномерный массив. Покажи как ты реализуешь именно двухмерный.
Мне уже объяснили,что я не правильно делал,я оказывается локальную i,j ограничивал for -ом))вообщем спасибо
0
18.10.2010, 20:00

Не по теме:

Цитата Сообщение от franken Посмотреть сообщение
оказывается локальную i,j ограничивал for -ом
почитай где -нибудь про области видимости, еще не раз пригодится :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2010, 20:00
Помогаю со студенческими работами здесь

Сумма элементов массива
Помогите решить задачи: Дан массив N Различных чисел. Найти сумму его членов, расположенный между максимальным и минимальным значениями(...

Сумма элементов массива
Создать программу,в которой запрашивает количество элементов массива,потом запрашивает первый,второй...элемент массива, рассчитает сумму...

Сумма элементов массива
Необходимо найти сумму элементов массива, находящихся на четных позициях. Получилось так. Но выдает ошибку, что индекс находился вне границ...

Сумма элементов массива
Для каждой строки подсчитать сумму элементов, не попадающих в заданный интервал, и записать данные в новый массив.

Сумма элементов массива
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru