nitro-Merlin
Mitglied
hi, ich will 2 felder: refa[] und refb[] zusammenfassen und refc[] aus diesen beiden feldern machen, finde aber keinen ansatz wie ich das bewerkstellige.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
int i,z;
char quelle1[index1];
char quelle2[index2];
char ziel[index1+index2]
for (i=0; i<index1;i++)
{
ziel [i]=quelle1[index1];
index1--;
}
z=i;
for (i=0; i< index2; i++)
{
z++;
ziel [z]=quelle2[index2];
index2--;z
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
void eingabe(int ref[], int anzahl)
{
int i;
printf("\nEingabe der Elemente von der Tastatur: \n");
for(i=0; i<anzahl; i++)
{
scanf("%i",&ref[i]);
}
}
void zufall(int ref[], int anzahl)
{
int i;
srand((unsigned)time(NULL));
for(i=0; i<anzahl; i++)
{
ref[i] = rand()%100;
}
}
void ausgabe(int ref[], int anzahl)
{
int i;
printf("\n\nDas Feld lautet:\n");
for(i=0; i<anzahl; i++)
{
printf("%4i\n",ref[i]);
}
printf("\n\n");
}
void bubblesort(int ref[], int anzahl)
{
int end,i,sorts,tausch;
do
{
sorts=0;
end=anzahl-1;
for(i=0;i<end;i++)
if(ref[i]>ref[i+1])
{
tausch=ref[i];
ref[i]=ref[i+1];
ref[i+1]=tausch;
sorts++;
}
} while(sorts&&(end>2));
}
void merge(int refa[], int refb[], int refc[], int anzahla, int anzahlb)
{
int i,z;//Zählvariablen
int anzahlc;
anzahlc = anzahla+ anzahlb; // Größe der kompletten Liste aus anzahla und anzahlb gebildet
printf("anzahlc enthaelt %i elemente\n",anzahlc);
for (i=0; i<anzahla;i++) // refa wird in liste refc geschrieben
{
refc[i]=refa[anzahla];
anzahla--;
}
z=i;
for (i=0; i< anzahlb; i++) // refb wird in liste refc geschrieben
{
z++;
refc[z]=refb[anzahlb];
anzahlb--;
z;
}
bubblesort(refc, anzahlc);
printf("refc lautet %i und anzahlc lautet %i\n", refc, anzahlc);
ausgabe(refc, anzahlc);
}
int main(void)
{
char ch;
int anzahla, anzahlb;
int felda[10];
int feldb[10];
int feldc[20];
printf("\n\nEingabe der Werte\n");
printf("Wieviel Zahlen sollen in Feld A sortiert werden?(Maximal 10)");
scanf("%i",&anzahla);
printf("Wieviel Zahlen sollen in Feld B sortiert werden?(Maximal 10)");
scanf("%i",&anzahlb);
printf("\nSollen die %i Zahlen von der Tastatur eingegeben werden (j/n) ? ",anzahla+anzahlb);
scanf("%i",&ch);
do ch = toupper(getchar()); while ((ch!='J')&&(ch!='N'));
if (ch == 'J')
{
eingabe(felda, anzahla);/*Eingabe der unsortierten Werte mit einer Funktion*/
eingabe(feldb, anzahlb);
}
else
printf("\nErzeugung der Werte ueber Zufallszahlen \n");
zufall(felda, anzahla);/*unsortierte Werte werden durch eine Funktion die Zufallszahlen erstellt realisiert*/
zufall(feldb, anzahlb);
ausgabe(felda, anzahla); /*Ausgabe unsortiertes Feld*/
ausgabe(feldb, anzahlb);
printf("\n\nJetzt wird sortiert, bitte gedulden Sie sich einen Moment!\n");
bubblesort(felda, anzahla);/*Feld wird mit bubblesort sortiert*/
bubblesort(feldb, anzahlb);
ausgabe(felda, anzahla);/*Ausgabe sortiertes Feld*/
ausgabe(feldb, anzahlb);
printf("\nDie Funktion merge wird aufgerufen\n");
/*Die beiden sortierten Felder A und B werden an Merge übergeben. Merge soll beide Felder mischen und gleichzeitig sortieren.*/
merge(felda, feldb, feldc, anzahla, anzahlb);
return 0;
}
nitro hat gesagt.:Code:void merge(int refa[], int refb[], int refc[], int anzahla, int anzahlb) { int i,z;//Zählvariablen int anzahlc; anzahlc = anzahla+ anzahlb; // Größe der kompletten Liste aus anzahla und anzahlb gebildet printf("anzahlc enthaelt %i elemente\n",anzahlc); for (i=0; i<anzahla;i++) // refa wird in liste refc geschrieben { refc[i]=refa[anzahla]; anzahla--; } z=i; for (i=0; i< anzahlb; i++) // refb wird in liste refc geschrieben { z++; refc[z]=refb[anzahlb]; anzahlb--; z; } bubblesort(refc, anzahlc); printf("refc lautet %i und anzahlc lautet %i\n", refc, anzahlc); ausgabe(refc, anzahlc); }
void merge(int refa[], int refb[], int refc[], int anzahla, int anzahlb)
{
int i,z;//Zählvariablen
int anzahlc;
anzahlc = anzahla+ anzahlb; // Größe der kompletten Liste aus anzahla und anzahlb gebildet
printf("anzahlc enthaelt %i elemente\n",anzahlc);
for (i=0; i<anzahla;i++) // refa wird in liste refc geschrieben
{
refc[i]=refa[i];
}
z=i;
for (i=0; i< anzahlb; i++) // refb wird in liste refc geschrieben
{
refc[z++]=refb[i];
}
bubblesort(refc, anzahlc);
ausgabe(refc, anzahlc);
char eins[15] = "a b c";
char zwei[15] = "d e f";
strcat( eins, zwei );
cout << eins << endl;