Пример #1
0
int main()
{
    int dim1  = 5;
    int dim2  = 6;
    int i, j;

    // Stack allocaterd VLAs
    double array[dim1][dim2];

    for (i = 0; i < dim1; i++)
    {
        for (j = 0; j < dim2; j++)
        {
            array[i][j] = i+j;
        }
    }

    // 'Normal' array of compile-time fixed dimension
    double a[5][5];
    arrayPrint(dim1, dim2, array);
    printf("\n");
    arrayPrint(dim1, dim2, a);

    return 0;
}
int main()
{
    int array[] = {4, 3, 6, 9, 1, 3, 4, 5, 8, 7};

    arrayPrint(array, 10);
    arrayRotate(array, 4, 1);
    arrayPrint(array, 10);
    arrayRotate(array, 8, 2);
    arrayPrint(array, 10);
}
Пример #3
0
int main() {
    FILE *in = fopen("task.in", "r");
    FILE *out = fopen("task.out", "w");
    int length1 = scanLen(in);
    int length2 = scanLen(in);
    int size = length1 + length2;
    int array1[length1];
    int array2[length2];
    int arrayMerge[size];
    int index = 0;
    
    arrayScan(in, array1, length1);
    arrayScan(in, array2, length2);
    fclose(in);
    
    for ( int i = 0; i < length1; i++ ) {
        arrayMerge[i] = array1[i];
    }
    for ( int i = length1; i < size; i++ ) {
        arrayMerge[i] = array2[index];
        index += 1;
    }
    
    sort(arrayMerge, size);
    
    arrayPrint(out, arrayMerge, size);
    fclose(out);
    
    return 0;
}
Пример #4
0
int main() {
    FILE *in = fopen("task.in", "r");
    FILE *out = fopen("task.out", "w");
    int array[MAX];
    int length = arrayScan(in, array, MAX);

    fclose(in);

    arrayPrint(out, array, length);
    fclose(out);

    return 0;
}
Пример #5
0
int main() {
    FILE *in = fopen("task.in", "r");
    FILE *out = fopen("task.out", "w");
    int length = scanLen(in);
    int array[length];
    int needle;
    
    arrayScan(in, array, length);
    fclose(in);
    
    needle = jump(array, length);
    
    arrayPrint(out, needle);
    fclose(out);
    return 0;
}
Пример #6
0
int main() {
    FILE *in = fopen("task.in", "r");
    FILE *out = fopen("task.out", "w");
    int len = fileScan(in);
    int array[len];

    arrayScan(array, len, in);

    fclose(in);

    mergeSort(array, 0, len);

    arrayPrint(array, len, out);

    fclose(out);

    return 0;
}
Пример #7
0
int main (int argc, char *argv[]) {
  double T1 = atof(argv[1]);
  double T2 = atof(argv[2]);
  double T3 = atof(argv[3]);
  double T4 = atof(argv[4]);
  const double ERROR = pow(10, -6);
  double chipTemp[NROW][NCOL];
  double avgOld=0.0, avgNew=0.0;
  int row=0, col=0, n=0;
  double T0 =0.0;
  int sum = 0;
  //define initial average of temperatures of edges
  T0 = 0.25*(T1+T2+T3+T4);
  //fill the array with the appropriate temperatures
  for(row=0; row<NROW; row++){
    for(col=0; col<NCOL; col++){
      if(((row==0)||(row==(NROW-1)))&&((col==0)||(col==(NCOL-1)))){
	chipTemp[row][col]=0.0;
      }
      else if(row==0){
	chipTemp[row][col] = T1;
      }
      else if(col==(NCOL-1)){
	chipTemp[row][col] = T2;
      }
      else if(row==(NROW-1)){
	chipTemp[row][col] = T3;
      }
      else if(col==0){
	chipTemp[row][col] = T4;
      }
      else{
	chipTemp[row][col] = T0;
      }
    }
  }

  //calculate the total number of points to find the average for
  sum = (NROW-2)*(NCOL-2);

  //calculate the difference in the averages
  
  while(1){
    for(row=1; row<(NROW-1); row++){
      for(col=1; col<(NCOL-1); col++){
	avgOld = chipTemp[row][col];
	avgNew = average(chipTemp, row, col);
	chipTemp[row][col] = avgNew;
	if(fabs(avgNew-avgOld)<=ERROR){
	  n++;
	}
      }
    }
    if(n==sum) break; 
    n=0;
 
  }

  arrayPrint(chipTemp);
  
  return 0;
  
}