błąd segmentacji [c++]

Wszystko co dotyczy tworzenia i optymalizacji stron internetowych oraz programowania
0tony0

Użytkownik
Posty: 2
Rejestracja: 08 mar 2012, 19:07

błąd segmentacji [c++]

Post08 mar 2012, 19:16

Witam wszystkich!
Zabrałem się za wykonywanie zadań maturalnych z informatyki, matura 2011 zadania praktyczne.
Treść zadania jest następująca:
Zadanie 4. Hasła (10 pkt)
Informatyk z firmy „KompOK” zapisał w pliku hasla.txt 200 haseł. Każde hasło
umieszczone jest w osobnym wierszu pliku. Hasło składa się tylko z małych liter alfabetu
angielskiego, zaś jego długość wynosi od 3 do 10 znaków.
Wykorzystując dane zawarte w tym pliku, wykonaj poniższe polecenia. Odpowiedzi do
poszczególnych podpunktów zapisz w plikach tekstowych o nazwach wynik4a.txt,
wynik4b.txt, wynik4c.txt.
c) Zapisz w pliku wynik4c.txt zestawienie haseł (po jednym w wierszu) zawierających
w sobie dwa kolejne znaki, których suma kodów ASCII wynosi 220.

Stworzyłem program ale podczas jego uruchamiania występuje błąd segmentacji.

Kod: Zaznacz cały

#include <iostream>
#include <cstdio>
#include <string>
#include<fstream>
#include <windows.h>
int z;
int i=0;
int j=1;

using namespace std;
int main()
{
   
   string slowo;
   ifstream we("haslo.txt");
   ofstream wy("wynik4c.txt");
   while(!we.eof())
   {
      we >> slowo;
       z =  (char)((int)slowo[i])+(char)((int)slowo[j]);
      
      
      if(z == 220)
      wy << slowo;
      i++;
      j++;
      //cout<< slowo<<endl;   
      }
      we.close();
      wy.close();
      getchar();
      return 0;
}

Proszę o pomoc w rozwiązaniu zadania i tego błędu, debugger deva c++ pokazuje że wszędzie jest ten sam błąd niezależnie od miejsca zaczęcia i skończenia działania debuggera.
Pozdrawiam Maciek

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

błąd segmentacji [c++]

Post10 mar 2012, 20:45

Kod: Zaznacz cały

 ifstream we("haslo.txt");
   ofstream wy("wynik4c.txt");
   std::string word;
   while(!we.eof())
   {
      we>>word;
///tu jest słowo do spacji, a zatem tutaj musi być kolejna pętla przeszukująca po długości stringa na znaki =220
// i sprawdzenie czy poprzedni_znak+kolejny_znak==220, pętla od 0 do strlen(word) co 1.
     
      }
Hotfix
Pozdrawiam, cosik_ktosik :)

0tony0

Użytkownik
Posty: 2
Rejestracja: 08 mar 2012, 19:07

błąd segmentacji [c++]

Post11 mar 2012, 00:07

Problem rozwiązałam okazało się że plik do odczytu nazywa się "hasła.txt" a nie "hasło.txt" przez co powstawał błąd, program napisałem od nowa tym razem inaczej z użyciem pęli for i wynik taki sam jak w odpowiedziach maturalnych.
pozdrawiam Maciek



  • Reklama

Wróć do „Webmastering i programowanie”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości