Informatică, întrebare adresată de alexandracrisan24, 8 ani în urmă

Să se scrie un program C care citeşte de la tastatură un şir de caractere, apoi elimină din şir caracterele care se repetă şi afişează în final şirul obţinut, folosind pointeri

Răspunsuri la întrebare

Răspuns de Rayzen
0

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

char sir[100];

char *p = sir;

// Citim sirul de caractere

printf("Introduceti sirul de caractere: ");

scanf("%s", sir);

// Alocam memorie pentru un şir nou

char *sir_nou = malloc(strlen(sir) + 1);

char *q = sir_nou;

// Parcurgem sirul initial si copiem in sirul nou doar caracterele unice

while (*p) {

if (strchr(sir_nou, *p) == NULL) {

*q++ = *p;

}

p++;

}

// Adaugam terminatorul de sir

*q = '\0';

// Afisam sirul final

printf("Sirul fara caractere repetate: %s\n", sir_nou);

free(sir_nou);

return 0;

}

Alte întrebări interesante