Практикум по программированию. Основы. Массивы. Цепочка равных чисел

From AsIsWiki
Jump to: navigation, search

Назад · Задачи · Дальше


Contents

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);
    }
}


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;
}


Pascal




Назад · Задачи · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools