a665sequ.cpp

来自「quarto esempi vari per c++ (schemi base)」· C++ 代码 · 共 32 行

CPP
32
字号
#include <iostream>

using namespace std;

short* loc(short* a1, short* a2, int n1, int n2) {
  short* end1 = a1 + n1 - n2;
  for (short* p1 = a1; p1 <= end1; p1++)
    if (*p1 == *a2) {
      int j;
      for (j = 0; j < n2; j++)
	if (p1[j] != a2[j]) break;
      if (j == n2) return p1;
    }
  return NULL;
}

int main() {
  short a1[9] = {11, 11, 11, 11, 11, 22, 33, 44, 55};
  short a2[5] = {11, 11, 11, 22, 33};
  cout << "L'array a1 inizia all'indirizzo   \t" << a1 << endl;
  cout << "L'array a2 inizia all'indirizzo   \t" << a2 << endl;
  short* p = loc(a1, a2, 9, 5);
  if (p) {
    cout << "L'array a2 trovato all'indirizzo   \t" << p << endl;
    for (int i = 0; i < 5; i++)
      cout << '\t' << &p[i] << ": " << p[i]
	<< '\t' << &a2[i] << ": " << a2[i] << endl;
  }
  else cout << "Non trovato.\n";
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?