C :: Aufgabe #107

1 Lösung Lösung öffentlich

Nachbar-Dupletten (Arrays)

Anfänger - C von AlHedi - 30.04.2016 um 12:34 Uhr
Es sollen die Anzahl von den Nachbar-Dupletten eines Zahlen-Arrays ermittelt werden.
Die Nachbar-Dupletten sind gleiche benachbarte Zahlen in einem Array.
Es soll außerdem auf folgendes geachtet werden:
Die Nachbardupletten sind genau nur für zwei benachbarte Mitglieder definiert - sollte ein drittes Mitglied dabei benachbart sein, wird es nicht mitgezählt, weil es noch einen gleichen Nachbar braucht.

bspw.: Array = [3,3,7] : Ausgabe = 1
Array = [3,3,3] : Ausgabe = 1 ( Die Mitglieder von Index 0 und 1 sind benachbart, der Index 2 braucht auch ein Nachbar aber hat keinen
Array = [3,3,3,3] : Ausgabe = 2
Array = [0, 3, 3, 3, 2, 7, 7, 7, 7, 3, 2, 1, 1, -2, 4, 4, 8, 9, 8, 6 ] : Ausgabe = 5

Entnommen aus dieser Aufgabenstellung: fotos-hochladen.net

Lösungen:

vote_ok
von devnull (8870 Punkte) - 01.05.2016 um 13:13 Uhr
Die Array-Elemente werden im Argumentvektor (argv) übergeben und durch simple Konversion in Integerwerte umgewandelt:
Quellcode ausblenden C-Code
/******************************************
 * arrdup.c  Nachbar-Dubletten im Int-Array
 ******************************************/
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    int anz=0, a, b, c;
    
	if (argc > 2) {
        for (c=1; c<argc-1; c++) {
            a = atoi(argv[c]);
            b = atoi(argv[c+1]);
            if (a == b) {
                anz++;
                c++;
            }
        }
        printf("%d Nachbar-Dublette(n) gefunden.\n", anz); 
    }
    return 0;
}