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

Одномерный массив

29.11.2021, 16:55. Показов 778. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2)сумму элементов массива, расположенных до последнего положительного элемента.
3) Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. Освободившиеся в конце массива элементы заполнить нулями.

Сделал первые 1 условия дальше в ступоре. Еще сырой в теме.

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
using System;
class Class1 {
  static void Main(string[] args ) {
    int[] q = ( 1, 11, -2, 5, -4, 7, -6, 9, -1,);
    Console.WriteLine( "Массив:" );
    int sum = 0;
    for (int i = 0; i<q[i]; i++)
    sum+=q[i];
 
foreach ( int R in q )
Console.Write(" "+ R );
int max = q[0];
 
foreach(int R in q)
    if (R > max) max = R;
Console.WriteLine("Max= " + max);
Console.WriteLine("Summa do 0 = " + sum);
 
Console.WriteLine("- - - - - - - -");
 
Console.WriteLine("Введите интервал a= ");
double a = double.Parse(Console.ReadLine());
 
Console.WriteLine("Введите интервал b= ");
double b = double.Parse(Console.ReadLine());
 
For( int i=0; i<q.Length; i++)
c=0;
c=Math.Abs(q[i]);
if (c>= a && c<=b)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2021, 16:55
Ответы с готовыми решениями:

Дан одномерный массив А, состоящий из N целых чисел. Переписать из него в одномерный массив В все нечетные числа
У меня есть задание: Дан одномерный массив А, состоящий из N целых чисел. Переписать из него в одномерный массив В все нечетные числа. Если...

Как разделить одномерный массив X на одномерный массив Y и вывести в массив Z
Как разделить одномерный массив X на одномерный массив Y и вывести в массив Z.

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

4
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
29.11.2021, 17:29
Лучший ответ Сообщение было отмечено UnKnower как решение

Решение

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
            int[] q = new int[] { 1, 11, -2, 5, -4, 7, -6, 9, -1 };
           // int[] q = (1, 11, -2, 5, -4, 7, -6, 9, -1,);
            Console.WriteLine("Массив:");
            int sum = 0;
            for (int i = 0; i < q[i]; i++)
                sum += q[i];
 
            foreach (int R in q)
                Console.Write(" " + R);
            int max = q[0];
 
            foreach (int R in q)
                if (R > max) max = R;
 
            Console.WriteLine();
            Console.WriteLine("Максимальный эллемент массива = " + max);
 
            int index = 0;
            int summa = 0;
            for (int i = 0; i < q.Length; i++) if (q[i] >= 0) index = i;
 
            for (int i = 0; i < index; i++) summa += q[i];
 
 
            Console.WriteLine("Сумма элементов массива, расположенных до последнего положительного элемента  = " + summa);
 
            Console.WriteLine("- - - - - - - -");
 
            Console.WriteLine("Введите интервал a= ");
            double a = double.Parse(Console.ReadLine());
 
            Console.WriteLine("Введите интервал b= ");
            double b = double.Parse(Console.ReadLine());
 
 
            int[] q2 = new int[q.Length];
            int x = 0;
            foreach (var item in q)
            {
                int c = 0;
                c = Math.Abs(item);
 
                if (c >= a && c <= b) { }
                else
                {
                    q2[x] = item;
                    x++;
                }   
            }
 
            if (x!=q.Length)
            {
                for (int i = x; i < q.Length; i++)
                    q2[i] = 0;
            }
 
            foreach (var item in q2) Console.Write(" " + item);
1
 Аватар для afonya_jan
219 / 80 / 54
Регистрация: 08.04.2020
Сообщений: 165
29.11.2021, 17:54
Конечно легче это делать со вспомогательными массивами, а ещё лучще со списками, но если по требованиям то вроде так
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
        private static void Main(string[] args)
        {
            var array = new int[10] {1, 2, 3, -4, 5, 6, -7, 8, 9, -10};
            var max = int.MinValue;
            var lastPositive = 0;
            var sum = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > max) 
                    max = array[i];
                if (array[i] > 0) 
                    lastPositive = i;
            }
 
            for (int i = 0; i < lastPositive; i++)
            {
                sum += array[i];
            }
                
            Console.WriteLine("Изначальный массив: " + string.Join(" ", array));
            Array.Resize(ref array, lastPositive);
            Console.WriteLine("Сжатый массив: " + string.Join(" ", array));
 
            var a = (2, 6);
            for (int i = 0; i < array.Length; i++)
            {
                if (Math.Abs(array[i]) >= a.Item1 && Math.Abs(array[i]) <= a.Item2)
                    Array.Clear(array, i, 1);
            }
                
            Console.WriteLine("Массив после очистки: " + string.Join(" ", array));
            int k = 0, j = 1;
            while(k < array.Length - 1)
            {
                if (array[k] == 0)
                {
                    if (array[j] == 0)
                    {
                        while (array[j] == 0 && j < array.Length - 1)
                        {
                            j++;
                        }
                        if (j == array.Length - 1 && array[j] == 0)
                            break;
                    }
                    
                    (array[k], array[j]) = (array[j], array[k]);
                    
                }  
                k++;
                j = k + 1;
            }
            Console.WriteLine("Массив после сортировки: " + string.Join(" ", array));
            
        }
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
29.11.2021, 18:04
afonya_jan, у Вас улетело 2 элемента массива
0
 Аватар для afonya_jan
219 / 80 / 54
Регистрация: 08.04.2020
Сообщений: 165
29.11.2021, 18:10
Цитата Сообщение от Voronkin Посмотреть сообщение
afonya_jan, у Вас улетело 2 элемента массива
упс, неверно условие прочитал. Удаляются все элементы с последнего положительного. Спасибо

Добавлено через 1 минуту
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
        private static void Main()
        {
            var array = new int[10] {1, 2, 3, -4, 5, 6, -7, 8, 9, -10};
            var max = int.MinValue;
            var lastPositive = 0;
            var sum = 0;
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > max) 
                    max = array[i];
                if (array[i] > 0) 
                    lastPositive = i;
            }
 
            for (int i = 0; i < lastPositive; i++)
            {
                sum += array[i];
            }
                
            Console.WriteLine("Изначальный массив: " + string.Join(" ", array));
 
            var a = (2, 6);
            for (int i = 0; i < array.Length; i++)
            {
                if (Math.Abs(array[i]) >= a.Item1 && Math.Abs(array[i]) <= a.Item2)
                    Array.Clear(array, i, 1);
            }
                
            Console.WriteLine("Массив после очистки: " + string.Join(" ", array));
            int k = 0, j = 1;
            while(k < array.Length - 1)
            {
                if (array[k] == 0)
                {
                    if (array[j] == 0)
                    {
                        while (array[j] == 0 && j < array.Length - 1)
                        {
                            j++;
                        }
                        if (j == array.Length - 1 && array[j] == 0)
                            break;
                    }
                    
                    (array[k], array[j]) = (array[j], array[k]);
                    
                }  
                k++;
                j = k + 1;
            }
            Console.WriteLine("Массив после сортировки: " + string.Join(" ", array));
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2021, 18:10
Помогаю со студенческими работами здесь

Массив: По двумерному массиву А получить одномерный массив В согласно заданному правилу...
По двумерному массиву А получить одномерный массив В, присвоив его k-му элементу значение TRUE, если выполнено указанное ниже условие, и...

Создать массив указателей на одномерный массив и через указатели присвоить массиву значения
Не могу понять как работают указатели. Объявляю массив, делаю на него указатель. Циклом с клавиатуры заполняю массив. После окончания...

Массив: Создать динамический одномерный массив для 6ти интовых значений с 2мя конструкторами...
Нужно создать динамический одномерный массив для 6ти интовых значений с 2мя конструкторами. 1ый должен быть без параметров. Создать метод...

Дан массив А.Сформировать одномерный массив В из положительных элементов массива А, кратных 5, записанных в порядке их следования в массиве А
не удается вывести второй массив на экран, в чем я ошибся? using System; using System.Collections.Generic; using System.Linq; using...

Ввести одномерный целочисленный массив A. Сформировать массив B, записав в него все нечетные элементы массива А, стоящих
Ввести одномерный целочисленный массив A. Сформировать массив B, записав в него все нечетные элементы массива А, стоящих после...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru