Skocz do zawartości

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Merijenda

Operacja na plikach

Rekomendowane odpowiedzi

Witajcie! Mam problem, niestety nie jestem jakąś super informatyczką, a na pewno nie programistką

Napisz program:

1. Wczytaj plik dane.txt (plik umieszczony w załączniku)

2. Policz ile jest wszystkich firm w pliku

3. Policz sume wartosci ostatniej kolumny tylko dla tych danych w których trzecie kolumna = L

4. Wyswietl co 50 pierwsza kolumna

5. Wyniki (punkty 3,4,5) mają się zapisywać w pliku wyniki.txt

dane.txt

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie, nie oczekuje gotowca! Chodzi mi tylko o jakąś wskazówkę, jestem na razie na kiepskim etapie tzn. Jak w ogóle przenieś danie z pliku. Czyli marnie...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Potrzebujesz

#include <fstream>

oraz w kodzie

ifstream plik("dane.txt");

 

Od tego momentu możesz używać obiektu 'plik' tak samo jak wcześniej strumienia 'cin' do wczytywania danych.

 

Wszystko dalej nie ma już żadnego związku z operacjami na plikach, nie jest niczym nowym i obejmuje wcześniejszy materiał, który jak rozumiem powinnaś znać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Program bedzie sie skladal z nastepujacych elementow (czyli zagadnien ktore ruszysz zeby go zrobic):

 

1. Odczyt/zapis do pliku

2. Tablica przechowujaca dane z pliku / tablica struktur zeby kod byl czytelniejszy

3. Parser - "rozszyfrowywanie" linijki i wrzucanie do tablicy/struktury

4. Operacje matematyczne - w tym operacje wykonywane cyklicznie w petli

5. Wyswietlanie wynikow (ale w sumie maja byc w pliku - to bez roznicy).

 

Najbardziej pracochlonny (i najwaznejszy w tym programie) bedzie parser. Dane w pliku sa pooddzielane tabulatorami wiec moze udaloby sie uzyc jakiejs funkcji standardowej ale nie wiem. Jak nie no to znak po znaku.

 

Tablica w sumie nie jest wymagana. Mozesz na biezaco wykonywac operacje podczas wczytywania pliku. Ale napewno ulatwi zycie jezeli przyjdzie ci rozwinac program o jakies dodatkowe funkcjonalnosci.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

- FILE *file = fopen("dane.txt", "rt"); - tworzysz wskaźnik do pliku na którym potem operujesz

- char *fgets(char *str, int size, FILE *stream); - pobierasz linijka po linijce zawartość pliku w pętli while do otrzymania znaku EOF - End Of File

- wykorzystaj bibliotekę <cstring> - tam są przydatne funkcje do operacji na łańcuchach znakowych

- int atoi(const char * string) - przekonwertuje łańcuch znaków na wartość liczbową

- int fclose (FILE *plik); na koniec zamykasz plik

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

  • Tematy

  • Odpowiedzi

    • Taa, bo jest niby moduł TPM zainstalowany? Prędzej samo gniazdo na moduł   Tak, wiem że do win11 wystarczy aktywować to gniazdo, nie musi być fizycznego modułu. Wtedy w dzienniku zdarzeń jest coś takiego: i tak to sobie działało. Teraz dziennik zamiast informacją "To zdarzenie wyzwala operację inicjowania obsługi lub sprawdzania stanu modułu TPM." wita takim błędem jak wyżej, ale po jakimś czasie pojawiają się następne dwie informacje które zacytowałem wyżej. Wszystko opisane jako źródło: TPM-WMI. Z tego co widzę to u mnie pojawiło się to 11 kwietnia tego roku.  10 kwietnia weszły mi takie aktualizacje KB5036620 która dotyczy .NET Framework oraz KB5036893 która zawiera nieco więcej zmian i może w niej coś jest namieszane.
    • Już ci napisałem wyżej od głównych do trc potem trrd i tfaw. Sprawdź czy to stabilne zrób z 10 pętli nawet na porfilu v3. Potem ewentualnie można spróbować czy zrobią 300ns na trfc   
    • Na konsolach też nic więcej oprócz trybów jakość i wydajność i jakiegokolwiek dostosowania tego pod nowe konsole. "Tryb jakości: 30 FPS*, rozdzielczość 4K, ustawienia ultra, nie powinny wymagać dynamicznego skalowania rozdzielczości." Nie wiem co oni do końca mieli na myśli pisząc "nie powinny" Dla czego w ogóle takiego określenia użyli? Albo będzie 4k, albo będzie dynamiczna rozdzielczość. Jakby sami nie wiedzieli jak ten tryb działa
    • Jako że już mi z AMD nie po drodze to dzisiaj takie coś sobie sprawiłem, muszę przyznać że chłodzenie jest bardzo dobre. 4070S Aorus. Na start zapodałem 2950MHz i 1.05V.
  • Aktywni użytkownicy

×
×
  • Dodaj nową pozycję...