• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konwersja ciągu liczb w char na int w c++

Object Storage Arubacloud
+1 głos
2,084 wizyt
pytanie zadane 13 grudnia 2016 w C i C++ przez Kamyyylo Początkujący (460 p.)
Mam takie zadanie :

Napisz funkcję wyznaczającą sumę wartości liczb całkowitych
przechowywanych w pamięci komputera w postaci tekstowej
(np. char* liczby = ”12   -3    64    2     78”; )

Problem w tym ze nie wiem jak przekonwertować to co jest w char na int i potem zsumować. próbowałem czegoś w stylu:

char n="1";

int a;

int a=n-'0';

ale działa tylko na liczba od 0 do 9. Nie wyśle żadnego kodu bo nie mam żadnego pomysłu jak mogę zrobić to zadanie. Słyszałem o czymś takim jak atoi w C ale nie wiem za bardzo jak tego używać.

2 odpowiedzi

0 głosów
odpowiedź 13 grudnia 2016 przez operator Stary wyjadacz (10,920 p.)
wybrane 14 grudnia 2016 przez Kamyyylo
 
Najlepsza

Mam nadzieję, że to wiele wyjaśni.

#include <stdio.h>
#include <string.h>

int main(void) {
	
	char* liczby = "12   -3    64    2     78";
	
	int 
		i = 0,
		sign, 
		number,
		size = strlen( liczby );
	
	// wczytujesz kolejne znaki w tablicy liczby
	while( i < size ){
		
		// pomijasz spacje
		while( liczby[i] == ' ' ) i++;
		
		// sprawdzasz czy występuje znak minusa
		sign = 0;
		if( liczby[i] == '-' ){
			sign = 1;
			i++;
		}
		
		//wczytujesz liczbę
		number = 0;
		while( liczby[i] > 47 ) number = number*10 + liczby[i++] - 48;
		i++;
		
		// sprawdzasz czy wystąpił znak minusa
		if( sign == 1 ){
			number *= -1;
		}
		
		// wypisujesz liczbę
		printf("%d ", number);
		
	}
	
	return 0;
	
}

 

0 głosów
odpowiedź 13 grudnia 2016 przez Fenix Nałogowiec (26,750 p.)
W tym wypadku Twój char to łańcuch znaków, (można w nim się poruszać jak po tablicy) więc może by tak sprawdzić jego odległość, wyszukiwać w nim "spacji" a to co jest między spacjami dodawać do jakieś tablicy, aby na końcu ją zsumować?

Podobne pytania

+1 głos
2 odpowiedzi 995 wizyt
0 głosów
2 odpowiedzi 1,951 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez patryk16 Obywatel (1,080 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 24 stycznia 2021 w C i C++ przez muzyk Użytkownik (940 p.)

92,753 zapytań

141,672 odpowiedzi

320,389 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...