2 / 2 / 0
Регистрация: 10.03.2011
Сообщений: 73
1

c# циклы

13.03.2011, 19:10. Показов 6177. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Вводятся целые числа (ввод продолжается до набора цифры 0). Найти наиболее длинную последовательность неубывающих чисел (для простоты можно предположить что нет соседних одинаковых чисел и искать возрастающую последовательность). Например набрано "2 3 2 6 4 1 7 9 4 6 0" – здесь максимальная возрастающая последовательность это "1 7 9". Надо вывести на экран: "Наиболее длинная последовательность 1 7 9 состоит из 3 чисел ".


2. Вводятся целые числа (вводится N чисел, или ввод продолжается до набора цифры 0). Найти и вывести количество локальных максимумов среди всех введенных чисел (предполагается, что соседние числа не повторяются). Локальный максимум это число, слева и справа от которого находятся меньшие числа. Например набрано "2 3 2 6 4 1 7 9 4 6 0" – здесь тройки с максимумами это: 2 3 2; 2 6 4; 7 9 4 . Надо вывести на экран: "Всего 3 локальных максимума".


3. Вводятся целые числа (ввод продолжается до набора цифры 0). Найти наиболее длинную последовательность одинаковых чисел и с какого по порядку числа она началась. Например набрано "2 3 2 4 4 8 2 2 2 3 0" – здесь максимальная последовательность это "2 2 2". Надо вывести на экран: "Число 2 подряд 3 раза с 7 числа".


4. Ввести одно число и запомнить его. Далее в цикле вводятся целые числа (ввод продолжается до набора цифры 0), а программа должна найти сколько раз первоначальное число встречается среди набираемых и номер первого и последнего вхождения. Например ввели первое число 5, далее вводим 7 5 1 7 2 4 5 5 6 0. Программа должна выдать "Число 5 встречается 3 раза, первый раз номер 2, последний номер 8".


5. Найти последовательность одинаковых чисел с максимальной суммой. Например набрано "2 3 2 4 4 8 8 2 2 2 2 3 0" – здесь максимальная последовательность это "8 8" с суммой 16 (хотя наиболее длинная "2 2 2 2").
Надо вывести на экран: "Максимум 16 из чисел 8".




кто что может!!!!)))) спс зарание!!! если можно хотя бы чучуть с цыклом помочь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2011, 19:10
Ответы с готовыми решениями:

Циклы с условием, циклы с переменной, вложенные циклы
С условием 1. Ввести натуральное число N и вычислить сумму всех чисел фибоначчи меньших N....

Циклы. Напечатать числа в виде таблицы, используя только циклы
4. Напечатать числа в виде таблицы, используя только циклы (массивы и строки не применять): ...

Циклы. Напечатать числа в виде таблицы, используя только циклы
Напечатать числа в виде таблицы, используя только циклы (массивы и строки не применять): ...

Переведите исходные циклы в циклы других форматотв:
Переведите исходные циклы в циклы других форматотв: For i:73 to 122 do в Цикл while: в Цикл...

6
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
13.03.2011, 19:29 2
Цитата Сообщение от ManOfSky Посмотреть сообщение
4. Ввести одно число и запомнить его. Далее в цикле вводятся целые числа (ввод продолжается до набора цифры 0), а программа должна найти сколько раз первоначальное число встречается среди набираемых и номер первого и последнего вхождения. Например ввели первое число 5, далее вводим 7 5 1 7 2 4 5 5 6 0. Программа должна выдать "Число 5 встречается 3 раза, первый раз номер 2, последний номер 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int FirstNumber;
            int FirstPos = -1;
            int LastPos = -1;
            int i;
            int count = 0;
            int l = 0;
            Console.Write("Введите число: ");
            FirstNumber = int.Parse(Console.ReadLine());
            while (true)
            {
                count++;
                Console.Write(">");
                i = int.Parse(Console.ReadLine());
                if (i == 0)
                    break;
                if (i == FirstNumber)
                {
                    if (FirstPos == -1)
                        FirstPos = count;
                    if (LastPos == -1)
                        LastPos = FirstPos;
                    if (LastPos != -1)
                        LastPos = count;
                    l++;
                }
            }
            Console.WriteLine("Первая позиция: " + FirstPos);
            Console.WriteLine("Последняя позиция: " + LastPos);
            Console.WriteLine("Встречается: " + l + " раз.");
            Console.ReadKey(true);
        }
    }
}
1
339 / 285 / 62
Регистрация: 02.09.2010
Сообщений: 547
13.03.2011, 20:53 3
5-ое задание
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Cons
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите последовательность");
            string pos = Console.ReadLine();
            int[] mas = new int[pos.Length];
            int sum=0;
            int val=0;
            int count = 1;
            int max=int.MinValue;
            for (int i = 0; i < pos.Length; i++)
            {
                mas[i] = Convert.ToInt32(pos.Substring(i, 1));
                
            }
            for (int i = 0; i < mas.GetLength(0) - 1; i++)
            {
                if (mas[i] == mas[i + 1])
                {
                    count++;
                    sum = (mas[i]*count);
 
                    if (sum > max)
                    {
                        max = sum;
                        val = mas[i];
                    }
                }
                else
                {
                    count=1;
                }
            }
            Console.WriteLine("Максимальная сумма равна {0} из элементов {1}", sum, val);
            Console.ReadKey();
        }
    }
}
Добавлено через 46 минут
Вот 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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Cons
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>();
            int count = 1;
            int val=0;
            int ind = 1;
            int max = int.MinValue;
            for (int i = 0; i < count; i++)
            {
                Console.WriteLine("Введите число последовательности");
                count++;
                int n = Convert.ToInt32(Console.ReadLine());
                if (n == 0)
                    break;
                else
                    list.Add(n);
 
            }
            Console.WriteLine("Полученная последовательность: ");
            foreach (int l in list)
            {
                Console.Write(l + " ");
            }
            for (int i = 0; i < list.Count - 1; i++)
            {
                if (list[i] == list[i + 1])
                {
                    val=list.FindIndex(0,list.Count,(x=>x==list[i]));
                    ind++;
                    if (ind > max)
                    {
                        max = ind;
                    }
                }
                else ind = 1;
            }
            Console.WriteLine("Максимальная длина последовательности равна {0} индекс начала {1}", ind, val);
            Console.ReadKey();
        }
    }
}
1
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
14.03.2011, 00:39 4
Цитата Сообщение от ManOfSky Посмотреть сообщение
1. Вводятся целые числа (ввод продолжается до набора цифры 0). Найти наиболее длинную последовательность неубывающих чисел (для простоты можно предположить что нет соседних одинаковых чисел и искать возрастающую последовательность). Например набрано "2 3 2 6 4 1 7 9 4 6 0" – здесь максимальная возрастающая последовательность это "1 7 9". Надо вывести на экран: "Наиболее длинная последовательность 1 7 9 состоит из 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
using System;
 
class Program
{
    static void Main(string[] args)
    {
        int[] mass = new int[3];
        int countZero = 0, indexOne = 0, indexTwo = 0, count = 0;
        while (true)
        {
            Console.WriteLine("Введите число в массив: ");
            mass[countZero] = int.Parse(Console.ReadLine());
            if (mass[countZero] == 0)
                break;
            if (countZero == mass.Length - 1)
                Array.Resize<int>(ref mass, (mass.Length + 10));
            countZero++;
            
        }
        for (int i = 1; i < countZero; i++)
        {
            if (mass[i] > mass[i - 1])
            {
                int tempCount = 0;
                int tempIndex = i - 1;
                while (mass[i] > mass[i - 1])
                {
                    tempCount++;
                    i++;
                }
                if (count == 0)
                    count = tempCount;
                else if (tempCount > count)
                {
                    count = tempCount;
                    indexTwo = i-1;
                    indexOne = tempIndex;
                }
            }
        }
 
        Console.Write("Наиболее длинная последовательность ");
        for (int i = indexOne; i <= indexTwo; i++)
            Console.Write(mass[i] + ", ");
        Console.Write("состоит из {0} чисел", count);
        Console.ReadLine();
    }
}
Добавлено через 8 минут
Цитата Сообщение от ManOfSky Посмотреть сообщение
2. Вводятся целые числа (вводится N чисел, или ввод продолжается до набора цифры 0). Найти и вывести количество локальных максимумов среди всех введенных чисел (предполагается, что соседние числа не повторяются). Локальный максимум это число, слева и справа от которого находятся меньшие числа. Например набрано "2 3 2 6 4 1 7 9 4 6 0" – здесь тройки с максимумами это: 2 3 2; 2 6 4; 7 9 4 . Надо вывести на экран: "Всего 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
using System;
 
class Program
{
    static void Main(string[] args)
    {
        int[] mass = new int[3];
        int countZero = 0, localCount = 0;
        while (true)
        {
            Console.WriteLine("Введите число в массив: ");
            mass[countZero] = int.Parse(Console.ReadLine());
            if (mass[countZero] == 0)
                break;
            if (countZero == mass.Length - 1)
                Array.Resize<int>(ref mass, (mass.Length + 10));
            countZero++;
        }
        for (int i = 1; i < countZero - 1; i++)
        {
            if ((mass[i] > mass[i - 1]) && (mass[i] > mass[i + 1]))
            {
                localCount++;
            }
        }
        Console.WriteLine("Всего {0} локальных максимума", localCount);
    }
}
1
2 / 2 / 0
Регистрация: 10.03.2011
Сообщений: 73
14.03.2011, 19:11  [ТС] 5
Спасибо, но 1, 2 тоде через циклы, без масива
0
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
14.03.2011, 19:53 6
ManOfSky, уверен Вам как программисту не составит труда вместо массива написать к примеру List либо ArrayList, там намного проще работать и не нужно знать и следить за размером массива.
0
2 / 2 / 0
Регистрация: 10.03.2011
Сообщений: 73
15.03.2011, 16:20  [ТС] 7
спасибо, попробую!!!
0
15.03.2011, 16:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2011, 16:20
Помогаю со студенческими работами здесь

Циклы в Паскале (циклы с пост- и предусловием)
Требуется напиcать программу, которая запрашивает числа с клавиатуры до тех пор, пока сумма чисел...

Циклы с параметром (циклы ДЛЯ)
Заданные векторы X(N) и Y(N) преобразовать по правилу: большее из xi и yi принять в качестве нового...

Заменить в коде циклы for на циклы while
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2;...

Циклы
Прошу помочь с решением задачек, заранее благодарен ;) 1. Дана последовательность из n целых...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru