Arrays vergleichen



  • Hallo kann mir jemand helfen und sagen, was ich bei diesem Programm falsch gemacht habe?

    ]//#include<stdio.h>
    #include<conio.h>
    
    void MAX(int Feld[])
    {
    
    	int i=0,Maxi=0;
    for(i;i<4;i++)
    {
    	if(Feld[i]>Maxi)
    	{
    	Maxi=Feld[i];
    	}
    }
    printf("Maximum:%d\n",Maxi);
    }
    void Paare(int Feld[],int Feld1[])
    {
    	int i,Paar=0,Gleich,j;
    for(i=0;i<4;i++)
    {
    	for(j=0;i<4;i++)
    	{
    	if(Feld[i]==Feld1[j])
    {
    	Gleich=0;
    	Gleich++;
    }
    	if(Gleich%2==0)
    {	
    	Paar++;
    	}
    	}
    }
    
    printf("Anzahl der Paare:%d",Paar);
    printf("\n%d",Gleich);
    }
    
    void main()
    {
    int Feld[4],i,Feld1[4],Feld2[4];
    
    for(i=0;i<4;i++)
    {
    	printf("Wert:");
    	scanf("%d",&Feld[i]);
    }
    MAX(Feld);
    for(i=0;i<4;i++)
    {
    	Feld1[4]=Feld[4];
    }
    
    for(i=0;i<4;i++)
    {
    	Feld2[4]=Feld[4];
    }
    Paare(Feld1,Feld2);
    
    	fflush(stdin);
    	getchar();
    }
    

    Ich möchte gern ein Array von vier Feldern mit Werten belegen und nacher anschleißen ermitteln wie oft ein Paar vorkommt.Ein Paar ist wenn eine Zahl doppelt vorkommt!
    mfg Stefanos



  • Ein Feld lässt sich mit der Funktion memcmp vergleichen. Details findet man in der MSDN!



  • Ja aber wie kann man dass schreiben ohne diese Funktion zu benutzen?
    Ich möchte nur 4 Werte auf ein Array einlesen.
    z.B: 1,2,2,4
    1.Paar (2)
    Wie mach ich das am besten?
    lg



  • Hab herum probiert aber es klappt trotzdem nicht:)
    könntet ihr mir vielleicht helfen?

    #include<stdio.h>
    #include<conio.h> 
    
    void MAX(int Feld[])
    {
    
    	int i=0,Maxi=0;
    for(i;i<4;i++)
    {
    	if(Feld[i]>Maxi)
    	{
    	Maxi=Feld[i];
    	}
    }
    printf("Maximum:%d\n",Maxi);
    }
    void Paare(int Feld[],int Feld1[])
    {
    	int Feld3[8],i,Gleich=0,Paare=0,j;
    
    	for(i=0;i<8;i++)
    	{
    	Feld3[i]=Feld[i];
    	Feld3[i+4]=Feld1[i];//Alle Werte auf Feld3 
    
    	}
    
    	for(i=0;i<4;i++)
    	{
    
    	if(Feld3[i]==Feld3[i+1])
    	{
    		Gleich++;
    	}
    
    	printf("Paare%d",Gleich);
    }
    
    void main()
    {
    int Feld[4],i,Feld1[4],Feld2[4];
    
    for(i=0;i<4;i++)
    {
    	printf("Wert:");
    	scanf("%d",&Feld[i]);
    }
    MAX(Feld);
    
    for(i=0;i<4;i++)
    {
    	Feld1[i]=Feld[i];
    }
    
    for(i=0;i<4;i++)
    {
    	printf("\nFeld1:%d,\n",Feld1[i]);
    }
    
    for(i=0;i<4;i++)
    {
    	printf("\nFeld:%d,\n",Feld[i]);
    }
    Paare(Feld1,Feld2);
    //Beide Felder haben die selben Werte enthalten
    	fflush(stdin);
    	getchar();
    }
    

    lg Stefanos



  • Stefanos schrieb:

    Hab herum probiert aber es klappt trotzdem nicht:)
    könntet ihr mir vielleicht helfen?

    Irgendwie versteht hier keiner, was genau du eigentlich willst.

    Beschreib' mal etwas genauer.



  • Ja ich möchte vier Zahlen einlesen und nachher im Array feststellen wie oft die Zahlen doppelt vorkommen!
    Das heißt ich gib z.B:1,2,2,3 ein
    Dann sollte das Programm schreiben ich hab ein Paar usw.



  • Habs selber gelöst


Anmelden zum Antworten