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

Suma cyfr w pliku.

VPS Starter Arubacloud
0 głosów
736 wizyt
pytanie zadane 24 listopada 2018 w C i C++ przez adamus Użytkownik (860 p.)

Witam program ma za zadanie wysiwetlic sume wszytskich cyfr w pliku na poczatku zaczytałem je do stringa i potem przez funkcje zmieniłem do inta gdy chce potem je dzielic przez dziesiec tak dlugo az bedzie zero i nastgepnie wyswietlic suma reszt to program mi nie kompiluje i pisze ze dev c++ przestał działać. Gdzie mam błąd ? 

#include <iostream>
#include <conio.h>
#include <fstream>
#include <cmath>
using namespace std;
int zam(string x)
{
	int y,i,j=0;
	for(i=x.size()-1;i>=0;i--,j++)
	{
		y+=(x[i]-'0')*pow(10,j);
	}
	return y;
}
int main()
{
	string a,tekst;
	const int n=3;
	int i,suma=0,pom,b;
	ifstream plik("liczby.txt");
	if(plik.is_open())
	{
		while(plik.good())
		{
			getline(plik,tekst);
			a=tekst[i];
			cout<<zam(a);
			pom=zam(a);
			while(pom)
			{
				suma+=pom%10;
				pom/=10;
			}
			cout<<suma;
			
		
		}
		plik.close();
	}
	
	
	
	getch();
	return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 24 listopada 2018 przez RafalS VIP (122,820 p.)
wybrane 24 listopada 2018 przez adamus
 
Najlepsza
int i;
...
a = tekst[i];

Nie zainicjowałeś zmiennej i zerem. Są w niej jakieś śmieci. Dlatego tekst[8457358] powoduje naruszenie pamieci. To samo ze zmienną y w funkcji zam.

int i, j  = 0;

oznacza, ze j jest rowne 0 ale i juz nie.

Implementacja string to int na pewno jest edukacyjna, ale mozna uzyc stoi:

std::stoi("45") == 45

 

komentarz 24 listopada 2018 przez adamus Użytkownik (860 p.)
Dzieki :)!!

Podobne pytania

0 głosów
4 odpowiedzi 862 wizyt
pytanie zadane 25 listopada 2018 w C i C++ przez adamus Użytkownik (860 p.)
+1 głos
1 odpowiedź 962 wizyt
+1 głos
1 odpowiedź 444 wizyt

92,972 zapytań

141,936 odpowiedzi

321,171 komentarzy

62,301 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...