Дана последовательность натуральных чисел, оканчивающихся числом 0. Определить, есть ли в последовательности хотя бы одна пара одинаковых "соседних" чисел. В случае положительного ответа определить порядковые номера чисел первой из таких пар. Если кто-то напишет, то респект + отсосик, ну или хотя бы что-то по теме
malor, using System; namespace ConsoleApp218 { class Program { static void Main(string[] args) { int[] arr = { 1, 4, 65, 43, 2, 4, 5, 2, 0, 5, 76, 8, 9, 7, 4, 3, 13, 53, 6, -1 }; int count = 0, lastIndexEvenElement = 0; int index = 0; do { if (arr[index] % 2 == 0 && arr[index + 1] % 2 == 0) { count++; lastIndexEvenElement = index; } index++; } while (index < arr.Length); if (count > 0) { Console.WriteLine($"Последняя пара соседних четных чисел: {arr[lastIndexEvenElement]} и {arr[lastIndexEvenElement + 1]}. Порядковые номера {lastIndexEvenElement} и {lastIndexEvenElement + 1}"); } else { Console.WriteLine("Нет пары соседних четных чисел"); C# using System; namespace ConsoleApp218 { class Program { static void Main(string[] args) { int[] arr = { 1, 4, 65, 43, 2, 4, 5, 2, 0, 5, 76, 8, 9, 7, 4, 3, 13, 53, 6, -1 }; int count = 0, lastIndexEvenElement = 0; int index = 0; do { if (arr[index] % 2 == 0 && arr[index + 1] % 2 == 0) { count++; lastIndexEvenElement = index; } index++; } while (index < arr.Length); if (count > 0) { Console.WriteLine($"Последняя пара соседних четных чисел: {arr[lastIndexEvenElement]} и {arr[lastIndexEvenElement + 1]}. Порядковые номера {lastIndexEvenElement} и {lastIndexEvenElement + 1}"); } else { Console.WriteLine("Нет пары соседних четных чисел");
на с++ #include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleOutputCP(1251); int n, i, k; n = 1; i = 1; bool f=false; cin >> k; while (n != 0) { cin >> n; if (n == k) { cout << "Пара чисел в позиции " << i << ", " << i + 1; n = 0; f = true; } else { k = n; i++; } } if (f==false) { cout << "Такой комбинации нет"; } }
На C# using System; namespace Work { internal class Program { static void Main() { int[] n; Console.Write("Введите нужное количество натуральных чисел: "); int c = Convert.ToInt32(Console.ReadLine()); n = new int[c]; Random r = new Random(); //int d = r.Next(1, c - 2); // Для проверки раскомментировать эту строку и 3 ниже for (int i = 0; i < c - 1; i++) { n[i] = r.Next(1, 50); //if (i == d) //{ // n[i] = n[i - 1]; //} } n[c - 1] = 0; for (int i = 0; i < c; i++) { Console.Write(n[i] + " "); } Console.WriteLine(); bool v = false; for (int i = 1; i < c; i++) { if (n[i] == n[i - 1]) { Console.WriteLine("Пара одинаковых чисел под номерами: {0} и {1}, они равны: {2}", i, i + 1, n[i]); v = true; break; } else { } } if (!v) { Console.WriteLine("Совпадений не найдено"); } } } } C# using System; namespace Work { internal class Program { static void Main() { int[] n; Console.Write("Введите нужное количество натуральных чисел: "); int c = Convert.ToInt32(Console.ReadLine()); n = new int[c]; Random r = new Random(); //int d = r.Next(1, c - 2); // Для проверки раскомментировать эту строку и 3 ниже for (int i = 0; i < c - 1; i++) { n[i] = r.Next(1, 50); //if (i == d) //{ // n[i] = n[i - 1]; //} } n[c - 1] = 0; for (int i = 0; i < c; i++) { Console.Write(n[i] + " "); } Console.WriteLine(); bool v = false; for (int i = 1; i < c; i++) { if (n[i] == n[i - 1]) { Console.WriteLine("Пара одинаковых чисел под номерами: {0} и {1}, они равны: {2}", i, i + 1, n[i]); v = true; break; } else { } } if (!v) { Console.WriteLine("Совпадений не найдено"); } } } }
Thumbh, Тут я думаю это задача не на собеседование в IT компанию, поэтому всё расписано, а так конечно можно и более коротко написать. Зато все понятно написано