如何迭代第一个数组中每个位置的多个数组迭代第二个数组?

时间:2017-12-09 09:16:58

标签: c arrays loops for-loop

#include "stdafx.h"
#include <stdio.h>
#include "iostream"

char s[100];
char s1[100];

int i = 0;
int i1 = 0;
int i2 = 0;

void populate();
void squeeze();

int main()
{
  printf("Write something, hit enter and than write something again. Hit 
  enter to see result\n");

  populate();
  squeeze();

  system("pause");

  return 0;
}

void populate()     // insert chars in two arrays
{
  int c;

  while ((c = getchar()) != '\n')
  {
      s[i] = c;
      i++;
  }

  while ((c = getchar()) != '\n')
  {
      s1[i1] = c;
      i1++;
  }
}

void squeeze()      // iterate the arrays to find if there are same chars
{
  char s2[1000];
  i = 0;
  i1 = 0;

  for (int r = 0; r <= s[i - 1]; r++)
  {
      for (int j = 0; j <= s1[i1 - 1]; j++)
      {
        if (s[r] == s1[j])
        {
            s2[i2] = s[r];
            i2++;
        }
      }
  }
  for (int m = 0; m <= s2[i2 - 1]; m++)    //print every element in s2[];
  {
      printf("%c", s2[m]);
  }
}

我想为第一个数组s1中的每个元素迭代第二个数组s,并将重复项放在第三个数组s2中。
对于我到目前为止在网上找到的所有内容,如何在同一位置arr1[i] = arr2[i]arr1[i1] = arr2[i1]等处迭代两个或多个数组。这是我的代码,但由于我不明原因,它不起作用。

1 个答案:

答案 0 :(得分:1)

String path = Environment.DIRECTORY_DOCUMENTS.toString()+"/Route Tracker";
    File rootDir =   new File(path);
    File fileList[] = rootDir.listFiles();
    String theNamesOfFiles[] = new String[fileList.length];

您正在丢失数组 BasicDBObject addEightHour = new BasicDBObject("$add", Arrays.asList( "$ts", 8*1000*60*60 )); final BasicDBObject day = new BasicDBObject("$dateToString", new BasicDBObject("format", "\"%Y%m%d\"").append("date", addEightHour)); DBObject groupFields = new BasicDBObject("_id", new BasicDBObject( "value", day)); DBObject group = new BasicDBObject("$group", groupFields); i = 0; i1 = 0; 的长度。然后,您可以访问绑定的数组索引,调用未定义的行为。(在s)。

正确的方法是

s1

几点需要注意:

  • 此处不需要使用全局变量。你自己犯了修改全局变量的错误。随着时间的推移,使用太多全局变量的大型代码会降低其可维护性和可读性。

  • 知道如何在函数中传递参数。并且还要查看squeeze之类的函数,这些函数在您的情况下用于输入。

  • 检查这两个资源。这些对你有很大的帮助

    1. how-to-debug-small-programs
    2. Definitive C books