Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Działania na nieokreślonej ilości liczb

Ostatnio zmodyfikowano 2009-04-25 21:05
Autor Wiadomość
Proxym
» 2009-04-22 20:58:49
<OFFTOPIC MODE>
powodzenia ^^ .
</OFFTOPIC MODE>

Może niesławne Goto, w końcu nie pętla.
P-5910
Proxym
» 2009-04-22 21:15:47
a goto jest rekurencją ?
P-5911
Proxym
» 2009-04-22 21:26:42
Sorry, że post pod postem, ale chce odświerzyć topic.

(21:23:53) Pawlo: mam pomysł ale to podchodzi pod rekurencje...
(21:24:33) Pawlo: użyć wyjątków i tam zrobić ponowne uruchomienie funkcji...
(21:25:02) Proxym: hehe
(21:25:25) Pawlo: technicznie - stos się zwija...

i druga propozycja:


(21:26:22) mitrandir: no to moze fork ;p
(21:26:58) mitrandir: i jakos wykombinowac zeby kazy wątek po jednej liczbie wczytywał..
(21:27:14) mitrandir: to takie naciągane
(21:27:16) mitrandir: ale moze chyba byc
(21:27:21) mitrandir: bo nie bedzie petli
(21:27:23) mitrandir: ani goto
P-5912
GoldWolf
» 2009-04-22 22:04:25
C/C++
#include <iostream>
#include <fstream>
#include <string>
//#include <cstdlib>
//----------------------------------------------------------
int main() {
    using std::cout;
    using std::cin;
    using std::string;
    using std::fstream;
    // using std::atoi;
    int liczba = 0;
    string wyniki;
    char znak[ 50 ];
    bool t;
   
    // Flaga:
    cout << "Podaj liczbe brachu \n";
    cin >> znak;
    t = isdigit( * znak ) == 0 ? false
        : true;
    if( t == true ) {
        liczba = atoi( znak );
        fstream plik;
        plik.open( "wynik.txt", ios::out, ios::app );
        if( plik.is_open() ) {
            plik << liczba * 2;
            plik << " ";
           
        }
        plik.close();
        // goto Flaga;
        system( "Project5.exe" ); //nazwa pliku exe
    } else {
        fstream plik;
        plik.open( "wynik.txt", ios::in );
        if( plik.is_open() ) {
            getline( plik, wyniki );
        }
        plik.close();
        cout << "Wynikami sa: " << wyniki << "\n";
        DeleteFile( "wynik.txt" );
        system( "pause" );
    }
    return 0;
}
//----------------------------------------------------------

Wiem wiem to nie jest rozwiązanie, ale jak już nad tym posiedziałem to chociaż wrzucę. Fajne zadanie ale raczej przekracza moje możliwości.


PS dodatkowo tu jest błąd nie dodaje kolejnych wyników tylko nadpisuje ostatni:
C/C++
plik.open( "wynik.txt", ios::out, ios::app );
if( plik.is_open() ) {
    plik << liczba * 2;
    plik << " ";
   
}
plik.close();
P-5914
DejaVu
» 2009-04-22 22:49:48
Jeśli zadanie ma rozwiązanie to będzie to jakaś wbudowana funkcja (ale ona nawet będzie miała jakąś pętlę). Ty przedstawiasz zadanie, w którym:
1) koniec jest wtedy gdy: nie cyfra i nie biały znak - to wymaga sprawdzania każdego znaku wchodzącego
2) rozmiar danych jest nieznany - innymi słowy bufor do którego chcesz zapisać liczby musi być alokowany przez funkcję i musi być to tablica. Musisz dostać również informację zwrotną o ilości wczytanych liczb. Innym rozwiązaniem jest std::vector<>, jednak w tym wypadku musi być to funkcja która wyszła wraz z pojawieniem się tego szablonu w C++.

Koniec mojego wywodu. Myślę, że Twój temat który zapodałeś nie ma na celu uzyskania rozwiązania.
P-5916
GoldWolf
» 2009-04-23 22:07:49
DeleteFile("wynik.txt");Przecież to jest tylko estetyczny dodatek.
Wiedziałem, iż moje rozwiązanie nie będzie dobre.
Wiesz już teraz jak to jest zadać tak zadanie by wszystko było jasne. Za mała mam wiedzę ale jeśli nie ma jakieś biblioteki(funkcji), która to wykona to wątpię by bez pętli się udało.

Nie napisałeś, iż program ma być wydajny tylko, że ma spełniać pewne wymogi, które z każdym kolejny postem są coraz restrykcyjne.

A może to jest program, w którym są pętle tylko nie jawne czyli coś na kształt niedawno przedstawionego języka Rey(czy jakoś tak).
P-5925
DejaVu
» 2009-04-24 01:57:39
Widzisz manfred... Ty nie chciałeś uzyskać odpowiedzi, tylko chciałeś pochwalić się przed nami, że umiesz uzyskać efekt postawiony we własnym pytaniu (pytanie na bank postawiłeś mając już rozwiązanie). Fajnie, że zamieściłeś odpowiedź, ale i tak 99% programistów zrobiłoby to z użyciem pętli for.

Uważam, że nikt niczego 'lepszego' nie wymyśli, ale żeby Twoje ego poczuło się lepiej tematu nie będę zamykał.

Myślę, że z wiedzą jaką dysponujesz mógłbyś pisać sensowne i konstruktywne artykuły na temat programowania czy też omawiać jakieś wybrane zagadnienia z programowania zamiast rozwodzić się w takie 'pierdoły' - bo dla mnie to są pierdoły :)
P-5926
Proxym
» 2009-04-24 07:55:41
Moim zdaniem to też nie jest rozwiązanie! Dlaczego ? Już mówię, Funkcje których użyłeś były implementowane przez innych programistów (ofc zależnie od platformy) i pewnie gdzieś głęboko w implementacji tych funkcji jest jakaś pętla/rekurencja czy też skok (nie mówię o goto, bo dobrze też może być wstawka w asm [jak już pisałem, wszystko zależy kto implementował STL na danej platformie]).
P-5927
« 1 » 2 3
  Strona 1 z 3 Następna strona