C++ stringden oxuma

Mən necə string tipində olan reqemleri massivə yaza bilərəm (rəqəmlər arasında istənilən qədər boşluq ola bilər) ?
Meselem :

[string line = “1 2 3 4 5”;]


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (6 cavab var)

(19:57, 24/05/2016 ) #63253
1string line = “1            2  3                4  5”;
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(11:28, 25/05/2016 ) #63258

salam sizə bu işi icra edən iki fərqli kod nümunəsi göndərirəm. birincisi elə string tipin özündən istifadə edib sətri hissələrə bölür. İkincisi isə əvvəlcə string tipli sətri c tipli sətrə çevirir və daha sonra emal edir. Qeyd edim ki hər iki halda yalnız sətir aradakı boşluq simvollarına görə hissələrə bölünür. alınan alt sətirlərin doğru ədəd olması yoxlanılmır. bunun üçün əlavə kod tərtib etməlisiniz.

Kod1:

1#include "stdafx.h"
2 
3#include
4#include
5#include
6 
7using namespace std;
8 
9int main()
10{
11    string s("1            2  3                4  5");
12    istringstream iss(s);
13 
14    int i, say, ededler[100];
15 
16    say = 0;
17 
18    do
19    {
20        string sub;
21        iss >> sub;
22         
23        ededler[say] = atoi(sub.c_str());
24        say++;
25 
26    } while (iss);
27 
28    printf("setirdeki ededler\n");
29 
30    for (i=0; i<say; ++i)
31      printf("%d ", ededler[i]);
32 
33}

Kod 2:

1// string.cpp : Defines the entry point for the console application.
2//
3 
4#include "stdafx.h"
5 
6#include
7 
8#include
9#include
10 
11using namespace::std;
12 
13 
14int main(){
15 
16string line = "1            2  3                4  5";
17 
18int i, say, ededler[100];
19 
20say = 0;
21 
22char *snumb;
23char *cstr = new char[line.length() + 1];
24strcpy(cstr, line.c_str());
25 
26snumb = strtok(cstr, " ");
27 
28while (snumb != NULL){
29    ededler[say] = atoi(snumb);
30    say++;
31    snumb = strtok(NULL, " ");
32}
33 
34delete [] cstr;
35 
36printf("setirdeki ededler\n");
37 
38for (i=0; i<say; ++i)
39  printf("%d ", ededler[i]);
40 
41 
42}
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (19:36, 25/05/2016 ) #63267

    reqemler menfide ola biler onda düz işləyəcək ?.. Cavaba gore təşəkkür

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (09:04, 26/05/2016 ) #63270

      Hər iki kodda bölünmə nəticəsində alınan alt sətirlərin ədədə çevrilməsi üçün atoi funksiyasından istifadə olunur. atoi funksiyası verilmiş sətri ədədə çevirərkən ilk simvolun üstəgəl və ya çıxma ola biləcəyini nəzərə alır. Ama sonrakı simvollar mütləq rəqəm olmalıdır. İlk qeyri rəqəm simvoluna qədər olan hissəsni ədədə çevirir.

      1atio (-45aa)  eliyir  45

      Amma əgər ilk simvol rəqəm deyilsə onda atoi 0 nəticəsini qaytarır.

      1atio (-aa45)  eliyir  0

      atoi funksiyası barədə daha ətraflı aşağıdakı keçiddən məlumat əldə edə bilərsiniz.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (23:28, 26/05/2016 ) #63278

      Allah razı olsu.. Eyvallah qardaş 🙂

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(11:37, 25/05/2016 ) #63259

Salam İnternetdə hazır bir kod tapdım buna görə:

1#include iostream
2#include string
3#include vector
4using namespace std;
5vector explode(string inputstring, string delimiter){
6    vector explodes;
7    inputstring.append(delimiter);
8    while(inputstring.find(delimiter)!=string::npos){
9        explodes.push_back(inputstring.substr(0, inputstring.find(delimiter)));
10        inputstring.erase(inputstring.begin(), inputstring.begin()+inputstring.find(delimiter)+delimiter.size());
11    }
12    return explodes;
13}
14int main(){
15    string delimiter="Hello World Hello World2";
16    vector explodes=explode(delimiter, " ");
17    for (int i=0;i<(int)explodes.size();i++){
18        cout<<explodes[i]<<"\n";
19    }
20    return 0;
21}

https://www.daniweb.com/programming/software-development/code/440617/c-equivalent-for-phps-explode-function

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Elektron servis xidmətləri (1 gün əvvəl)

cavaninsan cavab verdi - Amerika səhmləri (10 gün əvvəl)

Software Developer cavab verdi - Amerika səhmləri (10 gün əvvəl)

SN cavab verdi - Kripto vergi (19 gün əvvəl)

Nicat97 cavab verdi - ilkaddimlar.com-a nə oldu? (26 gün əvvəl)

nicatmemmedli cavab verdi - Proqramlaşdırma - fəlsəfə (29 gün əvvəl)

nicatmemmedli cavab verdi - ilkaddimlar.com-a nə oldu? (29 gün əvvəl)

Software Developer cavab verdi - ilkaddimlar.com-a nə oldu? (39 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (49 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (50 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (50 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (51 gün əvvəl)

E. Hacı cavab verdi - Telefon almışam kamerasında ləkə var qaytarmaq istəyirəm, mağaza qaytarmır (51 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (51 gün əvvəl)

Cənab cavab verdi - Rus dili yatırımı (51 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23309 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2025