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

Сформировать и вывести массив размера N, содержащий N первых членов прогрессии

15.01.2012, 12:26. Показов 2888. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать программу!
1.Дано целое число N(>1), а также первый член А и разность D арифметической прогрессии. Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A,A+D,A+2*D,A+3*D...
2. Дан массив размера N. Найти количество всех элементов, которые возрастают.
3. Дан целочисленный массив N. Продублировать в нем все чётные числа.
Эти три задачи нужно сформировать в одну!
Очень срочно надо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2012, 12:26
Ответы с готовыми решениями:

Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A,A+D,A+2*D,A+3*D
нужно задания выделить в отдельные процедуры. И можно рассказать подробно каждую строчку, что значит и что выполняет! очень надо до...

Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A, A·D, A·D^2, A·D^3, …
Доброго дня! Подскажите, пожалуйста, как решается данная задача: Дано целое число N (> 1), а также первый член A и знаменатель D...

Сформировать и вывести целочисленный массив размера N, содержащий N первых положительных нечетных чисел
1. Дано целое число N (> 0). Сформировать и вывести целочисленный массив размера N, содержащий N первых положительных нечетных чисел:...

13
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 12:54
2. Если массив из пункта 1 - то количество возрастающих элементов будет равно N либо 0. Откуда берется массив?
3. Опять же - откуда берется массив, и что значит - "продублировать"? Удвоить? Или завести новый массив большей длины, и четные числа писать в нем дважды?
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 12:59  [ТС]
Второе задание немножко не правильно сформулировала! Дан массив размера N. Найти количество участков, на которых его элементы возрастают!
Пограмма есть надо только исправить ошибки!
Прогрессия арифметическая, ты
запрограммировала геометрическую. В задание же явно написано, что это
такое...
На массиве оно
сработало неправильно. Для него надо генерировать случайный массив
(отдельной функцией).

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
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество элементов арифметической прогрессии, первый ее член и разность");
            int N = Int32.Parse(Console.ReadLine());
 
            int A = Int32.Parse(Console.ReadLine());
            int D = Int32.Parse(Console.ReadLine());
            int[] P = new int[N];
            Zapolnenie(A, D, N, P);
            Console.WriteLine();
            V(N, P);
            Console.WriteLine("\nДлина участка возростания:");
            Uchastki(N, P);
            Console.WriteLine("\nИзмененная:");
            Ch(N, P);
            Console.ReadLine();
        }
        static void Zapolnenie(int A, int D, int N, int[] P)
        {
            P[0] = A;
            int t = D;
            for (int i = 1; i < N; i++)
            {
                P[i] = A * t;
                t = t * D;
            }
        }
        static void V(int N, int[] P)
        {
            for (int i = 0; i < N; i++)
                Console.Write(P[i] + " ");
        }
        static void Uchastki(int N, int[] P)
        {
            int K = 0;
            for (int j = 1; j < N; j++)
                if (P[j] > P[j - 1]) K++;
 
            Console.WriteLine(K);
 
        }
        static void Ch(int N, int[] P)
        {
            for (int i = 0; i < N; i++)
            {
 
                if (P[i] % 2 == 0)
                    Console.Write(" " + P[i] + " " + P[i]);
                else
                    Console.Write(P[i]);
 
 
            }
        }
    }
}
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 13:19
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
class Program
    {
        static void Print(int[] current)
        {
            Console.WriteLine("Массив:");
            for (int i = 0; i < current.Length; i++)
                Console.Write(" {0}", current[i]);
        }
 
        static void Pause()
        {
            Console.WriteLine("\nPress any key for continue...");
            Console.ReadKey(true);
        }
 
        static int[] RandomArray(int n)
        {
            Random rand = new Random();
            int[] x = new int[n];
            for (int i = 0; i < n; i++)
                x[i] = rand.Next(-100, 100);
            return x;
        }            
    
        static void Main()
        {
            Console.WriteLine("Задача №1");
            Console.Write("Введите длину массива: ");
            int n = int.Parse(Console.ReadLine());
            int[] array = new int[n];
            Console.Write("Введите A: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Введите D: ");
            int d = int.Parse(Console.ReadLine());
            for (int i = 0; i < n; i++)
                array[i] = a + d * i;
            Print(array);
            Pause();
            Console.Clear();
 
            Console.WriteLine("Задача №2");
            Console.Write("Введите длину массива: ");
            n = int.Parse(Console.ReadLine());
            array = RandomArray(n);
            Print(array);
            int count = 0;
            bool next = false;
            for (int i = 0; i < n - 1; i++)
            {
                if (array[i] < array[i + 1]) next = true;
                if ((array[i] > array[i + 1]) && next)
                {
                    count++;
                    next = false;
                }
            }
            Console.WriteLine("\nКоличество возрастающих участков: {0}", count);
            Pause();
            Console.Clear();
 
            Console.WriteLine("Задача №3");
            Console.Write("Введите длину массива: ");
            n = int.Parse(Console.ReadLine());
            array = RandomArray(n);
            Print(array);
            Console.WriteLine("\nОбработанный массив: ");
            for (int i = 0; i < n; i++)
            {
                if (array[i] % 2 == 0) Console.Write(" {0} {0}", array[i]);
                else Console.Write(" {0}", array[i]);
            }
            Pause();
        }
    }
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 13:23  [ТС]
А можно пожалуйста пояснить программу???

Добавлено через 38 секунд
Что значит Console.WriteLine("\nPress any key for continue...");
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 13:26
Пишет строчку, "нажмите любую клавишу для продолжения..."
0
Банальное исключение
 Аватар для WorldException
127 / 95 / 12
Регистрация: 31.03.2010
Сообщений: 314
Записей в блоге: 1
15.01.2012, 13:27
Олеся8641, Выводит в консоль "Press any key for continue..."
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 13:29  [ТС]
А можно как-нибудь эту программу сделать, так чтобы не нажимать любую клавишу для продолжения, а сразу всё выводилось???
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 13:31
Замените везде вызовы функции Pause на
C#
1
Console.ReadKey(true);
и уберите строчки
C#
1
Console.Clear();
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 13:36  [ТС]
А как-нибудь можно сделать так, чтобы постоянно не вводить длинну массива??? Это же всё таки должна быть как одна задача!
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 13:43

Не по теме:

Мне жаль вашего препода...


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
 class Program
    {
        static void Print(int[] current)
        {
            Console.WriteLine("Массив:");
            for (int i = 0; i < current.Length; i++)
                Console.Write(" {0}", current[i]);
            Console.WriteLine("\n");
        }
 
        static int[] RandomArray(int n)
        {
            Random rand = new Random();
            int[] x = new int[n];
            for (int i = 0; i < n; i++)
                x[i] = rand.Next(-100, 100);
            return x;
        }            
    
        static void Main()
        {
            Console.WriteLine("Задача №1");
            Console.Write("Введите длину массива: ");
            int n = int.Parse(Console.ReadLine());
            int[] array = new int[n];
            Console.Write("Введите A: ");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Введите D: ");
            int d = int.Parse(Console.ReadLine());
            for (int i = 0; i < n; i++)
                array[i] = a + d * i;
            Print(array);
            Console.ReadKey(true);
 
            Console.WriteLine("Задача №2");
            array = RandomArray(n);
            Print(array);
            int count = 0;
            bool next = false;
            for (int i = 0; i < n - 1; i++)
            {
                if (array[i] < array[i + 1]) next = true;
                if ((array[i] > array[i + 1]) && next)
                {
                    count++;
                    next = false;
                }
            }
            Console.WriteLine("\nКоличество возрастающих участков: {0}", count);
            Console.ReadKey(true);
 
            Console.WriteLine("Задача №3");
            array = RandomArray(n);
            Print(array);
            Console.WriteLine("\nОбработанный массив: ");
            for (int i = 0; i < n; i++)
            {
                if (array[i] % 2 == 0) Console.Write(" {0} {0}", array[i]);
                else Console.Write(" {0}", array[i]);
            }
            Console.ReadKey(true);
        }
    }
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 14:05  [ТС]
Помогите пожалуйста исправить ошибки ещё в одной задачи ну или заново написать её!
4. Дана матрица размера М×N. Удалить её последний столбец, содержащий только отрицательные элементы. Если требуемых элементов нет, то вывести матрицу без изменений.
вот программа:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Zapolnenie(int N, int M, int[,] a)
        {
            Random n = new Random();
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                    a[i, j] = n.Next(-10, 10);
            }
        }
        static void Viviod(int N, int M, int[,] a)
        {
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < M; j++)
                    Console.Write(a[i, j] + " ");
                Console.Write("\n");
            }
        }
 
        static void Obmen(int N, int M, int[,] a, int k)
        {
            int j, i;
            for (j = 0; j < N; j++)
                if (a[N, j] < 0) k++;
            if (k == N - 1)
            {
                for (i = 0; i < M; i++)
                {
                    for (j = 0; j < N - 1; j++)
                        Console.Write(a[i, j] + " ");
                }
                Console.WriteLine();
            }
            else
            {
                for (i = 0; i < M; i++)
                {
                    for (j = 0; j < N; j++)
                        Console.Write(a[i, j] + " ");
                }
                Console.WriteLine();
            }
        }
            static void Main(string[] args)
        {
            int k=0;
            Console.WriteLine("введите размар матрицы NxM");
            int N = Int32.Parse(Console.ReadLine());
            int M = Int32.Parse(Console.ReadLine());
            int[,] a = new int[N, M];
            Zapolnenie(N, M, a);
            Console.WriteLine();
            Viviod(N, M, a);
            Console.WriteLine();
            Obmen(N, M, a, k);
            Console.WriteLine();
            Viviod(N, M, a);
            Console.ReadKey();
 
        {
        }
    }
 
    }
}
0
 Аватар для Высокий
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
15.01.2012, 15:42
так?
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
class Program
    {
        static void Print(int[,] current)
        {
            Console.WriteLine("Массив:");
            for (int i = 0; i < current.GetLength(0); i++, Console.WriteLine())
                for (int j = 0; j < current.GetLength(1); j++)
                    Console.Write(" {0, 3}", current[i, j]);
            Console.WriteLine("\n");
        }
 
        static int[,] RandomArray(int m, int n)
        {
            Random rand = new Random();
            int[,] x = new int[m,n];
            for (int i = 0; i < m; i++)
                for (int j = 0; j < n; j++)
                    x[i, j] = rand.Next(-10, 10);
            return x;
        }
    
        static void Main()
        {
            Console.WriteLine("Введите размерность матрицы: ");
            Console.Write("M: ");
            int m = int.Parse(Console.ReadLine());
            Console.Write("N: ");
            int n = int.Parse(Console.ReadLine());
            int[,] array = RandomArray(m, n);
            Print(array);
            int column = 0;
            for (int j = 0; j < n; j++)
                for (int i = 0; i < m; i++)
                    if (array[i, j] < 0) column = j;
            for (int i = 0; i < m; i++, Console.WriteLine())
                for (int j = 0; j < n; j++)
                    if (j == column) continue;
                    else Console.Write(" {0,3}", array[i, j]);
            Console.ReadKey(true);
        }
    }
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 74
15.01.2012, 15:48  [ТС]
А можно как-нибудь подделать мою версию??? а то это отличается от того, как мы сейчас делаем!! преподаватель говорил, что где операция обмена идёт, там надо убрать for-ры и вставить вывод, а как это сделать я не пойму!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2012, 15:48
Помогаю со студенческими работами здесь

Сформировать и вывести целочисленный массив размера содержащий N первых элементов последовательности чисел Фибоначчи
11. Дано целое число N(&gt; 2). Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности...

Сформировать и вывести массив размера N, содержащий N первых членов прогрессии
Разработка в среде Turbo Pascal программы создания нового массива. Дано целое число N (N&gt;1), а также первый член A и разность D ...

Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии
3. Дано целое число N (&gt; 1), а также первый член A и разность D арифметической прогрессии. Сформировать и вывести массив размера N,...

Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии
Помогите, пожалуйста. Вообще не знаю, как делать. Дано целое число N (&gt; 1), а также первый член A и разность D арифметической...

Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии
№1 Дано целое число N (&gt;1), а также первый член A и разность D арифметической прогрессии. Сформировать и вывести массив размера N,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru