Llama Ierakstīts Februāris 27, 2014 Share Ierakstīts Februāris 27, 2014 Sveiki, kā lai atrod pieturzīmes char masīvā? #pragma hdrstop #pragma argsused #include <tchar.h> #include <stdio.h> #include <conio.h> #include<ctype.h> void main() { char str[255]; int i; printf("Ievadi tekstu: "); scanf("%[^\n]", &str); printf("%s", str); getch(); } Link to comment Share on other sites More sharing options...
MOD Ierakstīts Februāris 27, 2014 Share Ierakstīts Februāris 27, 2014 http://www.cplusplus.com/reference/cstring/strstr/ Link to comment Share on other sites More sharing options...
usver Februāris 27, 2014 Share Februāris 27, 2014 aizej pie pasniedzēja, lai viņš izlemj un tev pastāsta, ko tu īsti mācies un ko mēģini. ja tas būtu c++, tad pietiktu izmantot cin >> un cout << , nevis jāties ar čāru virknēm un C funkcijām ievadei-izvadei. un vēl ar kaut kādām marazmātiskām, vendor-specifiskām pragma direktīvām. Un mājasdarbus te lūdzu nepostēt. Priekš tam tie ir mājasdarbi, lai pats tos pildītu, nevis prasītu solabiedram izpildīt tavā vietā. MOD: bravo, uz vēl 4 gadiem šādu tirliņu forumam piesaistīji. izmantos forumu gūgles vietā. Link to comment Share on other sites More sharing options...
Llama Februāris 27, 2014 Author Share Februāris 27, 2014 (labots) #pragma hdrstop #pragma argsused #include <tchar.h> #include <stdio.h> #include <conio.h> #include<ctype.h> #include <stdlib.h> void main() { char str[255], k; // Lietotāja ievadītais teksts , lietotaja atbilde atkartot programu int i, p; // Virkni pārbauda vai nesatur kādu pieturzīmi, saskaita pieturzīmes p = 0; do { system("cls"); printf("Ievadi tekstu: "); _flushall(); gets(str); // printf("%s", str); for (i = 0; str[i] != '\0'; i++) { // Meklē pieturzīmes if (str[i] == '.' || str[i] == ',' || str[i] == '!' || str[i] == '?' || str[i] == ';' || str[i] == ':' || str[i] == '"' || str[i] == '-' || str[i] == '[' || str[i] == ']' || str[i] == '{' || str[i] == '}' || str[i] == '(' || str[i] == ')' || str[i] == '/') { p = p + 1; } } printf("\npieturzīmju skaits %d\n", p); printf("\nIevadi J lai atkartotu, lai beigtu N\n"); // Piedava atkartot programmu scanf("%s", &k); } while (k == 'j' || k == 'J'); getch(); } Mans beigu kods. C++ paņēmu, jo vajadzēja 2 tagus obligāti. Labots Februāris 27, 2014 - Llama Link to comment Share on other sites More sharing options...
Baigais Janka Marts 3, 2014 Share Marts 3, 2014 Ja raksti C, tad C, ja C++, tad C++. Šitais i mikslis - it kā C++, bet ar C sintaksi. P.S. Pašam ir sajēga, ko konkrētās pragmas dara? Link to comment Share on other sites More sharing options...
nevertell Marts 3, 2014 Share Marts 3, 2014 Joki ar if( str<'a' || str>'Z') nestrādātu ? Link to comment Share on other sites More sharing options...
Baigais Janka Marts 3, 2014 Share Marts 3, 2014 Nu... neteiktu, ka space, cipari un visādi "lielāks", "mazāks", @ utt., utjpr. būtu pieturzīmes. Link to comment Share on other sites More sharing options...
nevertell Marts 3, 2014 Share Marts 3, 2014 nu labi, taisnība, bet vai pieturzīmes tāpat pēc savas "skaitliskās" vērtības neatrodās noteiktā intervālā ? Tas būtu daudz smukāk un, ja patīk kapeikseski, ātrāk. Link to comment Share on other sites More sharing options...
Baigais Janka Marts 5, 2014 Share Marts 5, 2014 Nē, tur i putra. Es droši vien uztaisītu ko, tipa, char *pz = ".,;:!?-"; // un ko nu tur vēl klāt vajag - iekavas, pēdiņas utt. Viegli papildināt vai izmest simbolus. Daudzpunkte gan atsevišķi jāizanalizē laukā. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!