Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Siruri de caractere - probleme

c



+ Font mai mare | - Font mai mic



Siruri de caractere

Stoilescu 201 Problema

Fiind dat un cuvant, sa se afiseze toate prefixele acestuia.



Se va determina mai intai lungimea cuvantului. Intrucat nu se cere o anumita ordine a prefixelor, le vom genera de la cel mai lung (intregul cuvant) la cel mai scurt (prima litera). Pentru a reduce dimensiunea vom inlocui la fiecare pas ultima litera cu terminatorul de sir.

#include<stdio.h>

#include<string.h>

void main()

Stoilescu 202 Problema 2:

Sa se verifice daca un numar este palindrom. Un numar este considerat palindrom daca citit de la stanga la dreapta sau invers, are aceeasi valoare. Exemple: 1221, 121, 50905. Numarul se va converti intr-un sir de caractere cu ajutorul functiei ltoa din biblioteca standard, apoi sirul se caractere se va compara cu inversul sau. Pentru obtinerea inversului unui sir se va folosi functia strrev din biblioteca string.h

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

void main()

Stoilescu 205 Problema 5:

Fiind date n siruri de caractere care reprezinta n cuvinte, sa se determine toate perechile de rime formate.

Pentru aceasta se vor compara cu ajutorul functiei strcmp pe rand ultimele doua litere ale fiecarui cuvant cu ultimele doua litere ale celorlalte cuvinte. Daca acestea coincid atunci se va tipari perechea de siruri gasita.

//Stoilescu 2.05

#include<string.h>

#include<stdio.h>

void main()

Negrescu 8.11 Cel mai lung cuvant citit

Sa se scrie un program care citeste o succesiune de cuvinte si-l afiseaza pe cel mai lung dintre ele.

Prin cuvant intelegem o succesiune de caractere diferite de caracterele albe. Vom presupune ca un cuvant nu are mai mult de 100 de caractere. Cuvintele sunt separate prin spatii. La sfarsit se tasteaza sfarsitul de fiser (Ctrl+Z) pentru a termina succesiunea de cuvinte.

//PROGRAMUL BVIII11

#include <stdio.h>

#include <string.h>

#define MAX    100

void main () /* citeste o succesiune de cuvinte si-l afiseaza pe cel mai lung dintre ele */

if(max)

printf('Cel mai lung cuvint: %s', cuvint_max);

Observatii:

1. Cuvantul citit se pastreaza in tabloul cuvint de MAX+1 elemente. La citire se utilizeaza specificatorul de format: %100s care permite sa se citeasca cel mult 100 de caractere diferite de cele albe. Functia scanf pastreaza caracterul NULL dupa ultimul caracter citit. Deci, un cuvant de 100 de caractere ocupa 101 octeti.

2. Dupa citirea unui cuvant se apeleaza functia strlen pentru a determina numarul caracterelor citite prin scanf si pastrate in tabloul cuvint. In acest caz s-a utilizat expresia:

i = strlen(cuvint)

Apoi se compara lungimea cuvantului citit cu max.

Variabila max are ca valoare lungimea maxima a cuvintelor citite inaintea celui curent. Initial max = 0, deoarece nu exista nici un cuvant citit. Daca max este mai mic decat lungimea cuvantului citit curent, atunci lui max i se atribuie aceasta valoare, iar cuvantul citit este transferat in zona de memorie alocata tabloului cuvant_max. In acest scop se apeleaza functia strcpy:

strcpy(cuvint_max, cuvint);

Negrescu 8.12 Program citire si ordonare cuvinte

Sa se scrie un program care citeste doua cuvinte si le afiseaza in ordine crescatoare.

Cuvantul se defineste ca in exercitiul precedent, adica este o succesiune de cel mult 100 de caractere care nu sunt albe. Cuvintele sunt separate prin spatii (caractere albe).

//PROGRAMUL BVIII12

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define MAX    100

void main ( )    /* citeste doua cuvinte si lc afiseaza in ordine crescatoare */

if(scanf('%100s',cuv2) != 1)

if(strcmp(cuv1,cuv2) < 0)

else

Negrescu 8.13

Sa se scrie un program care citeste o succesiune de cuvinte si-l afiseaza pe cel mai mare.

Prin cuvant intelegem o succesiune de cel mult 100 de caractere care nu sunt albe. Cuvintele sunt separate prin caractere albe. Succesiunea de cuvinte se termina cu sfarsitul de fisier.

//PROGRAMUL BVIII13

#include <stdio.h>

#include <string.h>

#define MAX 100

void main() /* citeste o succesiune de cuvinte si-l afiseaza pe cel mai mare */



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1598
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved