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

Konwersja liczby na obiekt (dla mistrzów:))

Object Storage Arubacloud
0 głosów
330 wizyt
pytanie zadane 27 lutego 2018 w C i C++ przez Scypyon Gaduła (3,450 p.)

Treść:W pliku liczby.txt znajduje się 1000 trójek liczb całkowitych dodatnich rozdzielonych pojedynczymi odstępami, każda trójka – w osobnym wierszu. Liczby zapisane w pliku należą do przedziału [1, 32 767]. Fragment danych z pliku liczby.txt: 20634 31423 261 11009 21970 32126 26318 16336 5158 24196 14586 3545 Napisz program(y), który(e) da(dzą) odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki4.txt, a każdą odpowiedź poprzedź odpowiednim numerem zadania.

Zadanie 4.1 (0–2) Podaj, w ilu wierszach pliku z danymi liczby w trójkach są uporządkowane rosnąco. Przykład: Dla danych 4587 9351 28950 15010 28342 31848 30172 7492 6768 29120 21664 32328 odpowiedzią jest 2 (w dwóch wyróżnionych wierszach liczby są uporządkowane rosnąco).

 

Piszę ponownie, bo ostatnio dostałem tylko rozwiązanie zadania, a nie chodziło mi o takowe, rozwiązałem je sam bez problemu. A więc najdokładniej jak się da...

PROBLEM(Zanim odpowiesz przeczytaj, prosze): Chciałbym to zadanie zrobić w tablicach( tak, zostałem już uświadomiony ,że w tym przypadku to bez sensu ). Idea jest taka, aby liczby, przekonwertować na obiekty, czyli ,aby np. 7634 to było tablica[0] ,a 34343 to tablica[1], itd... I zasadnicze pytanie, czy jest to możliwe? Taka konwersja np. w JavaScript jest banalna . Z góry dziękuje za pomoc.

 

PS. "dla mistrzów" to może nie jest ale ten napis miał za zadanie przyciągnąć do tego tematu jak najwięcej osób :)

 

 

komentarz 27 lutego 2018 przez Patrycjerz Mędrzec (192,320 p.)
Chodzi ci o odczyt liczb z pliku do kolejnych elementów tablicy? Gdzie tu konwersja na obiekt?
komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
Trochę źle to nazwałem, tak to się nazywa  w JS, chodzi mi o to ,aby w jednej szufladce, siedziała cała liczba np. 3 elementowa
komentarz 27 lutego 2018 przez Michał Gibas Pasjonat (19,610 p.)

To tworzysz strukturę, albo klasę z trzema elementami:

typedef struct
{
 int a, b, c;
}Zestaw;

A później tworzysz tablicę struktur:

Zestaw array[N];

//odnosisz się do elementów oczywiście tak:

array[i].a

 

komentarz 27 lutego 2018 przez Patrycjerz Mędrzec (192,320 p.)

aby w jednej szufladce, siedziała cała liczba np. 3 elementowa

Bardzo niezrozumiale piszesz. Jak liczba może być trójelementowa? Domyślam się jednak, że pierwszą trójkę chcesz zapisać do pól, kolejno, tablica[0], tablica[1] i tablica[2], drugą trójkę do tablica[3], tablica[4], tablica[5] itd.?

komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
nie, nie to, chodzi mi o to, np. tab[0] = 723 tab[1] = 423 tab[2] = 342

I teraz np tak jak w tym zadaniu, miałbym porównywać czy tab[0]<tab[1] && tab[1]<tab[2]

 

Da się tak wgl?
komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
No np w JS, masz tak : const tab = ["ania", "konrad","wojtek"];

to jak napiszesz :

console.log(tab[0]); // ania

console.log(tab[1]); // konrad

console.log(tab[2]); // wojtek
komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)

@Michał Gibas,  klasę? Mogę potem porównać sobie te liczby?

komentarz 27 lutego 2018 przez Michał Gibas Pasjonat (19,610 p.)

Tak możesz sobie porównać te liczby. Ale zamiast klasy zalecam strukturę (tak jak opisałem powyżej). I teraz widzę że chodzi ci o listę inicjalizacyjną:

Zestaw array[N];

array[i] = { a, b, c };

 

komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
nie pyknie :/ liczby są różne, 3/4/5/6 cyfrowe
komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
ale pomysł z class , fajna sprawa

1 odpowiedź

0 głosów
odpowiedź 27 lutego 2018 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 27 lutego 2018 przez Scypyon
 
Najlepsza

I zasadnicze pytanie, czy jest to możliwe?

Jest to nieco uwłaczające dla C++, że odczyt liczb z pliku do tablicy, jedna z najprostszych operacji, może być za jego pomocą niemożliwa, no ale cóż.

Otóż taki program może być wykonany na wiele różnych sposobów. Czy to w pętli używając operatora >> z klasy std::ifstream lub korzystając z gotowych iteratorów (wszystko było omawiane niedawno na forum).

komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)
Ale ja to wyżej napisałem, to powiedz jak się zachować, gdybyśmy delikatnie zmienili treść, i było by 1000 kolumn w jednym wierszu i ciąg miałby się składach z 57 wyrazów rosnących w jednym wierszu? Dlatego pytam o taką makabryczną metodę, pozatym mi nie zależy na czasie rozwiązania :)
komentarz 27 lutego 2018 przez Patrycjerz Mędrzec (192,320 p.)
Odczyt danych wg sposobów z linka zadziała w każdej sytuacji, gdy liczby będą oddzielone jedynie białymi znakami (mogą to być spacje, znaki nowej linii, tabulacje itd.). To od ciebie zależy znanie struktury pliku, ilości liczb w wierszu. Ja podałem jedynie uniwersalną metodę odczytu do tablicy (w poście było do vectora, ale łatwo to zmodyfikować).
komentarz 27 lutego 2018 przez mokrowski Mędrzec (155,460 p.)

Mieszasz pojęcia. Kolumna, wyrazy, obiekt, tablica. Do tego stopnia że jak widzisz nikt (a w poprzednim wątku także ja) nie może Cię zrozumieć.

O co chodzi? Chodzi o wczytanie do tablicy 2-wymiarowej 1000 elementów (czyli wierszy) z 3 liczbami (czyli każda liczba będzie w oddzielnej komórce)?

Jeśli tak to (jak Ci napisałem) otwierasz pętlę i iterujesz...

while(file >> table[index][0] >> table[index][1] >> table[index][2]) { ... }

Jaką masz z tym trudność? Proszę tylko nie używaj pojęcia "obiekt" bo to tylko zaciemnia Twoje intencje.

komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)

@Patrycjerz, dokładnie o to mi chodziło, problem rozwiązany :) Dałem naj.

komentarz 27 lutego 2018 przez Scypyon Gaduła (3,450 p.)

@mokrowski, tak, trochę pomieszałem, mówiłem jak to się nazywa i wygląda w JS, w każdym razie bilbioteka vector - tego potrzebowałem :)

1
komentarz 27 lutego 2018 przez mokrowski Mędrzec (155,460 p.)
Matko boska... facepalm to mało :-/

Podobne pytania

0 głosów
1 odpowiedź 1,374 wizyt
pytanie zadane 5 grudnia 2015 w C i C++ przez Ceki Mądrala (5,310 p.)
+1 głos
1 odpowiedź 289 wizyt
pytanie zadane 7 marca 2021 w JavaScript przez Tomek5x Nowicjusz (180 p.)
0 głosów
1 odpowiedź 238 wizyt

92,555 zapytań

141,403 odpowiedzi

319,556 komentarzy

61,940 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...