Rezolvarea problemelor pentru c

Iată o colecție de soluții problematice și exemple de programe mici în C.

A doua jumătate a sarcinilor sunt răspunsuri la unele sarcini pentru cursul "Caracteristicile limbajului C".

Ultimul exemplu "Pointeri și Arrays" demonstrează caracteristicile indicatoarelor.

Rezolvarea problemelor în limbajul de programare C

Rezolvarea problemelor în limbajul de programare C

Se spune că în biblioteca standard există o funcție de măsurare a lungimii unei linii și oferă, de asemenea, propria versiune. Versiunea de lucru a codului de program este complet absentă.

În exemplul de mai jos, șirul introdus de utilizator este scris într-o serie de caractere. Apoi lungimea sa este măsurată folosind funcția încorporată strlen (), apoi utilizând funcția personalizată strlen2 ().

Rezolvarea problemelor în limbajul de programare C

Este dat un exemplu de funcție de stoarcere. care elimină toate caracterele c din șirul s.

Mai jos este codul complet al programului folosind această funcție. Și, de asemenea, răspunsul la Exercițiul 2.4, unde se recomandă să scrie o funcție care elimină din sirul s1 toate caracterele găsite în șirul s2.

Algoritmul de eliminare a unui caracter dintr-un șir poate fi descris după cum urmează:

  • Până la sfârșitul liniei,
  • Dacă următorul caracter al șirului nu este egal cu caracterul care trebuie șters,
  • scrieți următorul caracter la locul indexului j. după aceea, măriți ultima cu una.

Cu alte cuvinte, algoritmul reduce la faptul că simbolul de pe indexul i este șters de următorul caracter, dacă coincide cu simbolul pentru eliminare; deoarece înregistrarea merge la contorul j. și crește numai atunci când caracterele din șir și pentru eliminare nu se potrivesc.

Algoritmul de ștergere a acelor caractere ale unui șir care apar pe o altă linie diferă de cel anterior, prin faptul că este necesar să extrageți rândul său simbolurile din a doua linie și să le ștergeți de la primul rând. Ie Algoritmul de mai sus trebuie introdus în bucla celei de-a doua linii.

Ștergerea tuturor caracterelor c dintr-un șir

Ștergeți toate caracterele din șirul s2. din șirul s1

Notă. În al doilea program, scrierea caracterelor unui șir este alocată unei funcții separate, deoarece este necesar să scrieți două rânduri. În caz contrar, va trebui să repet codul.

Rezolvarea problemelor în limbajul de programare C

Cartea descrie funcțiile de găsire a unui element într-o matrice ordonată folosind algoritmul de căutare binară (dihotomie).

Un exemplu de program de lucru care utilizează această funcție:

Rezolvarea problemelor în limbajul de programare C

Răspunsul la exercițiul 3.2.

Înlocuirea secvențelor de control cu ​​simboluri obișnuite

Notă. Se utilizează forma postfix a incrementului (k ++). În acest caz, k este folosit mai întâi și doar incrementat cu unul.
Când emiteți un șir modificat, la sfârșitul acestuia apar "artefacte" ciudate.

Înlocuiți perechile de caractere \ n "și" \ t "cu secvențe de evacuare

Rezolvarea problemelor în limbajul de programare C

Răspunsul la exercițiul 3.3. Versiune simplificată.

Programul desfasoara un sir ca a-z la sirul abc. xyz. Dacă prima linie este scrisă incorect (de exemplu, z-a sau oiy), atunci a doua linie conține numai caracterul de sfârșit de linie.

Rezolvarea problemelor în limbajul de programare C

Rezolvarea problemelor în limbajul de programare C

Programul ia în considerare numărul de caractere, rânduri și cuvinte introduse de utilizator.

Rezolvarea problemelor în limbajul de programare C

Scrieți un program care, în plus față de funcția principală (), ar avea două funcții: factorul numărului transmis a fost calculat într-unul, elementul nth al seriei Fibonacci (n este parametrul funcției) a fost în celălalt. Apelați aceste funcții cu argumente diferite.

Rezolvarea problemelor în limbajul de programare C

Scrieți un program care solicită utilizatorului două date în formatul dd.mm.yyyy. Zilele, lunile și anii trebuie să fie atribuite variabilelor întregi. Programul ar trebui să afișeze informații despre data anterioară și care este mai târziu.

Rezolvarea problemelor în limbajul de programare C

Anunțați trei matrice de caractere din program. Datele pentru două dintre ele vor fi obținute cu apelurile către funcția primită # 40; # 41;. A treia matrice trebuie să conțină rezultatul concatenării (conexiunii) celor două linii introduse. Scrieți o funcție care concatează șiruri de caractere.

Rezolvarea problemelor în limbajul de programare C

Scrieți un program care determină procentajul de vocale și consoane din fișierul text ca procent. Numele fișierului este transmis la program prin intermediul liniei de comandă.

Rezolvarea problemelor în limbajul de programare C

Scrie o funcție care ia indicii la două tablouri. Funcția trebuie să umple o matrice cu 25 de numere aleatoare aleatoare, iar cealaltă cu 25 de numere impare. Demonstrați activitatea sa.

Rezolvarea problemelor în limbajul de programare C

Rezolvarea problemelor în limbajul de programare C

Când o variabilă a indicatorului este declarată (de exemplu, int * q), un * este precedat și de numele său. Cu toate acestea, în acest context, pur și simplu raportează că variabila este un pointer, iar semnul * nu este relevant pentru extragerea valorii.

Articole similare