Практикум по программированию. Основы. Массивы. Цепочка равных чисел
From AsIsWiki
(Difference between revisions)
Line 9: | Line 9: | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
public class Task12 { | public class Task12 { | ||
Line 17: | Line 14: | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | |||
− | |||
System.out.println(); | System.out.println(); | ||
Line 63: | Line 58: | ||
<pre> | <pre> | ||
+ | // g++ 4.2 | ||
+ | |||
+ | #include <iostream> | ||
+ | |||
+ | using namespace std; | ||
+ | |||
+ | int main() { | ||
+ | |||
+ | cout << "\n Поиск в массиве максимально длинной\n"; | ||
+ | cout << " последовательности одинаковых чисел\n"; | ||
+ | cout << "-------------------------------------\n"; | ||
+ | cout << " Идексы: 0 1 2 3 4 5 6 7 8 9 A B C D E F\n"; | ||
+ | cout << " Массив:"; | ||
+ | |||
+ | srand((int)time(0)); | ||
+ | |||
+ | const int n = 16; | ||
+ | |||
+ | int a[n]; | ||
+ | |||
+ | for (int i = 0; i < n; i++) { | ||
+ | a[i] = rand() % 3; | ||
+ | cout << " " << a[i]; | ||
+ | } | ||
+ | |||
+ | cout << "\n-------------------------------------\n"; | ||
+ | |||
+ | int i, k = 1, max = 0, index = 0; | ||
+ | |||
+ | for (i = 0; i < n - 1; i++, k++) { | ||
+ | if (a[i] != a[i + 1]) { | ||
+ | if (max < k) { | ||
+ | max = k; | ||
+ | index = i; | ||
+ | } | ||
+ | k = 0; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | if (max < k) { | ||
+ | max = k; | ||
+ | index = i; | ||
+ | } | ||
+ | |||
+ | printf(" Цепочка начинается с индекса: %X\n", index + 1 - max); | ||
+ | printf(" Количество чисел в цепочке: %d\n\n", max); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</pre> | </pre> | ||
Latest revision as of 13:32, 19 April 2015
Contents |
[edit] Java
public class Task12 { private static final int n = 16; public static void main(String[] args) { System.out.println(); System.out.println(" Поиск в массиве максимально длинной "); System.out.println(" последовательности одинаковых чисел "); System.out.println("-------------------------------------"); System.out.println(" Идексы: 0 1 2 3 4 5 6 7 8 9 A B C D E F"); System.out.print(" Массив:"); int a[] = new int[n]; for (int i = 0; i < n; i++) { a[i] = (int) (3 * Math.random()); System.out.print(" " + a[i]); } System.out.println("\n-------------------------------------"); int i, k = 1, max = 0, index = 0; for (i = 0; i < n - 1; i++, k++) { if (a[i] != a[i + 1]) { if (max < k) { max = k; index = i; } k = 0; } } if (max < k) { max = k; index = i; } System.out.printf(" Цепочка начинается с индекса: %X\n", index + 1 - max); System.out.printf(" Количество чисел в цепочке: %d\n", max); } }
[edit] C++
// g++ 4.2 #include <iostream> using namespace std; int main() { cout << "\n Поиск в массиве максимально длинной\n"; cout << " последовательности одинаковых чисел\n"; cout << "-------------------------------------\n"; cout << " Идексы: 0 1 2 3 4 5 6 7 8 9 A B C D E F\n"; cout << " Массив:"; srand((int)time(0)); const int n = 16; int a[n]; for (int i = 0; i < n; i++) { a[i] = rand() % 3; cout << " " << a[i]; } cout << "\n-------------------------------------\n"; int i, k = 1, max = 0, index = 0; for (i = 0; i < n - 1; i++, k++) { if (a[i] != a[i + 1]) { if (max < k) { max = k; index = i; } k = 0; } } if (max < k) { max = k; index = i; } printf(" Цепочка начинается с индекса: %X\n", index + 1 - max); printf(" Количество чисел в цепочке: %d\n\n", max); return 0; }
[edit] Pascal