kopieren der Elemente von einem array zu einem anderen

Ich bin immer ein Absturz-Fehler zur Laufzeit und nicht sicher, was genau zu tun ist, mit der Funktion, oder wie bekomme ich die Daten dafür.

FUNKTION DETAILS

Schreiben Sie eine Funktion, die akzeptiert ein int array und size als Argumente, dann erstellen Sie ein neues array, das ein element größer als die gegebene. Einstellung das erste element 0, dann kopieren über das, was im argument-array in das neue array.

WICHTIGSTEN DETAILS

Verwendung in einem Programm zu Lesen int n vom Eingang, dann Lesen Sie int n aus Datei Daten name data
übergabe an element shifter, dann drucken, um die Ausgabe (eine pro Zeile).

#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;

int element_shift(int elmts[], int size) {
  int new_size = size + 1;
  int shifter[new_size];
  int *elmt_sft;
  shifter[0] = 0;
  for (int i = 1; i >= new_size; i++) {
    shifter[i + 1] = elmts[i];
  }
  return *elmt_sft;
}

int main() {
  fstream infile;
  infile.open("D:\\data.txt");
  int n, x;
  infile >> x;
  cout << "size of array: ";
  cin >> n;
  const int ARRAY_SIZE = n + x;
  int elements[ARRAY_SIZE];
  element_shift(elements, ARRAY_SIZE);

  system("PAUSE");
  return EXIT_SUCCESS;
}
  • Ich empfehle die Lektüre eines einführendes Buch über C++, schau hier
  • Paar Dinge zum nachdenken: 1. for(int i=1;i>=new_size;i++) denken über die Vergleiche (beachten Sie auch arrays beginnen bei null). 2. return *elmt_sft; Wenn Sie dereferenzieren dieses Zeigers, wo liegt es auf?
InformationsquelleAutor user1340333 | 2012-04-18
Schreibe einen Kommentar