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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
Line 9: Line 9:
  
 
<pre>
 
<pre>
import java.util.Scanner;
 
import java.lang.Math;
 
 
 
public class Task12 {
 
public class Task12 {
  
Line 17: Line 14:
  
 
     public static void main(String[] args) {
 
     public static void main(String[] args) {
       
 
        Scanner in = new Scanner(System.in);
 
 
          
 
          
 
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




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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools