Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

sortieren in c

Empfohlene Antworten

hallo an die experten,

ich hab folgendes Problem, ich muss ein Program schreiben dass durchmesser von schrauben aus einer datei liest und dann sortiert (straight selection) und ich weiss nicht weiter hab leider keine ahnung von Programmieren:upps

also mein code lautet:

#include <stdio.h>

#include <string.h>

int sortieren(int*feld,int anfang,int ende)

{

int kleinster;

kleinster=anfang;

for (int aktueller=anfang+1;aktueller<=ende;aktueller++)

{

if (feld[aktueller]<feld[kleinster])

kleinster=aktueller;

}

return kleinster;

}

void exchange (int *feld, int e1,int e2)

{

int tmp;

tmp=feld[e1];

feld[e1]=feld[e2];

feld[e2]=tmp;

}

void selectionsort(int*feld, int anzahl)

{

int kleinster;

for (int i=0;i<anzahl; i++)

{

kleinster=sortieren(feld,i,anzahl-1);

exchange(feld,i,kleinster);

}

}

void main()

{

int i,zahl;

FILE *datei;

datei = fopen("schrauben.txt","r");

FILE *exchange;

printf("Bitte geben Sie ein Wert ein: \n");

printf("1 fuer Durchmesser, 2 fuer Laenge,3 fuer Anzahl \n");

scanf("%d",&zahl);

printf("Durchmesser\n");

for (i=1;i<=10;i++)

{

fscanf(datei,"%d",&i);

fprintf(stdout," %d",zahl);

}

}

Und was genau möchtest du dazu wissen? Es ist zwar gut, dass du den Code gleich gepostet hast, aber wenn wir nicht wissen, nach was wir suchen sollen, wird nicht viel hilfreiches dabei raus kommen.

also

das Programm in main ruft nicht die Daten zum sortieren und ich weiss nicht wie ich das machen kann also aus txt datei die Daten lesen zu lassen und anschließend sortiert.

Danke

hab ich aber was für ein wert sollte ich aufrufen damit das program aus datei holt?:mod:

also so was???

ich hab leider keeeeine ahnung,:(

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define MAX_zeile 10

#define max[4]


int sortieren(int*feld,int anfang,int ende)

{

	int kleinster;

	kleinster=anfang;

	for (int aktueller=anfang+1;aktueller<=ende;aktueller++)

		{

			if (feld[aktueller]<feld[kleinster])

				kleinster=aktueller;

		}

	return kleinster;

}

void exchange (int *feld, int e1,int e2)

{

	int tmp;

	tmp=feld[e1];

	feld[e1]=feld[e2];

	feld[e2]=tmp;

}

void selectionsort(int*feld, int anzahl)

{

	int kleinster;

	for (int i=0;i<anzahl; i++)

		{

			kleinster=sortieren(feld,i,anzahl-1);

			exchange(feld,i,kleinster);

		}

}

void main()

{

	int i,zahl;

	int a[max];

	FILE *datei;

	datei = fopen("schrauben.txt","r");

	printf("Bitte geben Sie ein Wert ein: \n");

	printf("1 fuer Durchmesser, 2 fuer Laenge,3 fuer Anzahl \n");

	printf("Durchmesser, Laenge, Anzahl);

	scanf("%d",&zahl);

	int sorteiren();

	for (i=1;i<=10;i++)

		{

			fscanf(schrauben.txt,"%d",&a[i])


		}


	fclose(datei);


}

Benutz bitte Code-Tags, der Button mit dem # im Beitragseditor. Ich hab das hier mal für dich nachgeholt.

#define max[4] ist Quatsch.

#define max 4
Damit liest du allerdings 10 Werte in ein Array ein, das nur 4 fasst. Das Menü mit Durchmesser, Länge und Anzahl brauchst du laut deiner Aufgabenbeschreibung nicht. Und das
int sorteiren();

ist kein Funktionsaufruf, sondern eine Deklaration. Schau dir doch mal an, wie die anderen Funktionsaufrufe in dem Programm aussehen.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.