Zaloguj się, aby obserwować  
Bartuc

Język C / C++ / C# / Java - pytania, problemy...

1979 postów w tym temacie

Dnia 20.11.2005 o 14:16, Don Lizak napisał:

Proszę o pomoc.
Jak w c++ wczytać z jednego wiersza dwie liczby (int) oddzielone pojedyńczym odstępem.
Na przykład:
w
jednym wierszu wpisuje: 45545 4848
i chciałbym żeby z tego wiersza komputer wczytał dwie oddzielne zmienne np. a=45545 i
b=4848.


int a, b;
cin >> a >> b;

Ot cała filozofia ;)

Dnia 20.11.2005 o 14:16, Don Lizak napisał:

Męczyłem się z tablicami i jakoś nie wyszło. Ptem próbowałem z char, ale nie można tego potem na int zamienić.


Można, zapoznaj się z funkcją atoi(). Pojedyncze znaki też można przerzucać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.11.2005 o 14:27, Vilmar napisał:

int a, b;
cin >> a >> b;


O rany... ale czasem można mieć zaćmę. Pisałem cin >> a,b; dlatego mi nie wychodziło. Dzięki bardzo ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawa ztymi odstępami mi się skomplikowała..

mam jakąś tam zmienną int n;

i chce teraz w jednym wierszu wczytać n liczb oddzielonych pojedyńczymi odstępami;
czyli coś a''la:

cin >> liczna1 >> liczba2 >> liczba 3 >> ... >>liczban

Powyższy zapis oczywiście jest błędny bo się tak nie da zrobić. Więc pytam jak? z for spróbowałem to mi wyszło, że co każdą liczbę muszę enter wcisakać, a one muszą być wszystkie wczytane z jednego wiersza. i ma być ich n.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.11.2005 o 15:33, Don Lizak napisał:

Powyższy zapis oczywiście jest błędny bo się tak nie da zrobić. Więc pytam jak? z for spróbowałem
to mi wyszło, że co każdą liczbę muszę enter wcisakać, a one muszą być wszystkie wczytane z jednego wiersza. i ma być ich
n.



#include <iostream>

using namespace std;

int main()
{
int n = 3;
int *liczba;
liczba = new int[n];
int i = 0;
do cin >> liczba[i++];
while(i < n);
return 0;
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

>W C powinno to wyglądać tak:

Dnia 06.11.2005 o 22:47, Olamagato napisał:

#include <stdio.h>
const int rozmiarnazwy = 256;

void main()
{
FILE *plik;
char nazwapl[rozmiarnazwy];
int
gotowe = 0;
while(gotowe != 1)
{
fputs("Podaj nazwę pliku: ", stdout);
gotowe = scanf("%255s%*[^\n]", &nazwapl[0]);
if(
gotowe && (plik = fopen(nazwapl, "r")) == NULL) gotowe = 0;
}
...
fclose(plik);
}

To jest idiotoodporne wczytywanie nazwy (...)


Mam maleńką prośbę: skoro mamy już dostępne dla wszystkich wzorcowe dla C idiotoodporne wczytywanie danych z pliku o konkretnej nazwie, to czy mógłbyś napisać równie idiotoodporny zapis do pliku o podanej przez nas nazwie? Proszę... :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 20.11.2005 o 19:58, Bartuc napisał:

Mam maleńką prośbę: skoro mamy już dostępne dla wszystkich wzorcowe dla C idiotoodporne wczytywanie danych z pliku
o konkretnej nazwie, to czy mógłbyś napisać równie idiotoodporny zapis do pliku o podanej przez nas nazwie?


Eee, chyba nie zrozumiałeś co kod Olamagato tak naprawdę robi. Otóż nie jest to idiotoodporne wczytywanie danych z pliku o podanej nazwie, tylko idiotoodporne otwieranie pliku do odczytu o podanej nazwie. Różnica jest spora ;) A otwarcie pliku do zapisu metodą Olamagato polega na wprowadzeniu do niej jednej tylko poprawki (zaznaczam pogrubieniem):

#include <stdio.h>
const int rozmiarnazwy = 256;

void main()
{
FILE *plik;
char nazwapl[rozmiarnazwy];
int gotowe = 0;
while(gotowe != 1)
{
fputs("Podaj nazwę pliku: ", stdout);
gotowe = scanf("%255s%*[^\n]", &nazwapl[0]);
if( gotowe && (plik = fopen(nazwapl, "w")) == NULL) gotowe = 0;
}
...
fclose(plik);
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hehe dzięki :) ja zrozumiałem o co chodziło Olamagato tylko po prostu źle się wyraziłem :P A chodzi mi teraz o taką ładną funcję, która zapisze np. wprowadzony z klawiatury text do pliku o konkretnej (podawanej przez użytkownika) nazwie + ewentualnie do pliku o konkretnej nazwie i lokalizacji (pełna ścieżka).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

wie ktos co jest zle w tym kodzie ...

#include<stdio.h>
#include<stdlib.h>
int tablica(int kol, int wier) {
int **tab;
int a,i,j;
tab=(int**)malloc(kol*sizeof(int));
for(j=0;j<wier;j++)
tab[j]=(int*)malloc(wier*sizeof(int));
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
tab[i,j]=i*j;
printf("%d\n",tab);

}}
int main()
{
int wiersze, kolumny;
printf("podaj liczbe wierszy tablicy");
scanf("%d",&wiersze);
printf("podaj liczbe kolumn talicy");
scanf("%d",&kolumny);
tablica(kolumny,wiersze);
system("pause");
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie jestem jakimś super programistą, ale na pierwszy rzut oka widzę, że:
- Twoje funkcje typu int powinny zwracać wartość (a nie zwracają);
- dynamicznie przydzielasz pamięć, której nie zwalniasz (tu nie wiem jeszcze jak Ci pomóc);
- no i w linijce: tab[i,j]=i*j; powinno być: tab[j]=i*j;
Oto kod, który się kompiluje, ale mówię - brakuje zwolnienia pamięci... i jeszcze coś chyba jest nie tak :P

#include<stdio.h>
#include<stdlib.h>

int tablica(int kol, int wier)
{
int **tab;
int i,j;
tab=(int**)malloc(kol*sizeof(int));
for(j=0;j<wier;j++)
tab[j]=(int*)malloc(wier*sizeof(int));
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
tab[j]=i*j;
printf("%d\n",tab);
}
return(0);
}

int main()
{
int wiersze, kolumny;
printf("podaj liczbe wierszy tablicy ");
scanf("%d",&wiersze);
printf("podaj liczbe kolumn talicy ");
scanf("%d",&kolumny);
tablica(kolumny,wiersze);
system("pause");
return(0);
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przepraszam za "spam" ale zapomniałem, że to forum "i" w nawiasach kwadratowych traktuje jako znacznik kursywy :| Zatem jeszcze raz, i zamieniłem na x:

Nie jestem jakimś super programistą, ale na pierwszy rzut oka widzę, że:
- Twoje funkcje typu int powinny zwracać wartość (a nie zwracają);
- dynamicznie przydzielasz pamięć, której nie zwalniasz (tu nie wiem jeszcze jak Ci pomóc);
- no i w linijce: tab[x,j]=x*j; powinno być: tab[x][j]=x*j;
Oto kod, który się kompiluje, ale mówię - brakuje zwolnienia pamięci... i jeszcze coś chyba jest nie tak :P

#include<stdio.h>
#include<stdlib.h>

int tablica(int kol, int wier)
{
int **tab;
int x,j;
tab=(int**)malloc(kol*sizeof(int));
for(j=0;j<wier;j++)
tab[j]=(int*)malloc(wier*sizeof(int));
for(x=0;x<2;x++)
for(j=0;j<2;j++)
{
tab[x][j]=x*j;
printf("%d\n",tab);
}
return(0);
}

int main()
{
int wiersze, kolumny;
printf("podaj liczbe wierszy tablicy ");
scanf("%d",&wiersze);
printf("podaj liczbe kolumn talicy ");
scanf("%d",&kolumny);
tablica(kolumny,wiersze);
system("pause");
return(0);
}

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.01.2006 o 16:32, komandos02 napisał:

co to jest znacznik do pliku w języku c i jak sie go stosuje (czyt.-podajcie jakis przyklad)


Nie wiem, czy istnieje takie pojęcia jak znacznik do pliku...? Oczywiście mogę się mylić. Może chodzi Ci o wskaźnik do pliku?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przerobilem kurs wykonany w formie filmu instrukazowego który obejmował :

Instalacja i wybór narzędzia do lokalnego używania PHP i MySQL


PHP:
komentarze;
zmienne;
warunki;
pętle;
formularze;
zapis i odczyt danych do pliku;
operatory;

i wiele więcej...

MySQL:
połączenie z bazą;
MySQL Monitor;
zakładanie nowej bazy;
tworzenie tabel;
umieszczanie i aktualizacja danych;
konstruowanie zapytań prostych i złożonych;
sortowanie;

i wiele więcej...

PHP i MySQL:
nawiązania połączenia z bazą danych MySQL z poziomu PHP;
wybór bazy danych;
konstruowanie zapytań do bazy i pobieranie danych z poziomu strony www;
tworzenie mechanizmów przeszukujących bazę danych;
dodawanie i usuwanie rekordów w bazie z poziomu www;
omówienie narzędzia PHPMyAdmin;

Czy znacie jakies firmy ktore robia filmy insturkazowe o php, najlepiej zeby to byl film ktory bedzie kontynuowal to co sie nauczylem czyli to co powyzej wypisalem. Niechce książek o php z tego wzgledu ze niektore zagadnienia są napisane w niezrozumialy sposob.Tak wogole to mam 15 lat , nie za wczesnie sie biore za jezyk programowania ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam mały problem ... muszę zrobić prostą grę w tym języku ... czy ktoś mógłby mi podać link z jakimiś poradami lub z przykładami takich gierek.... chodzi mi o BARDZO prostą grę jak np. tenis (2 prostąkoąty to rakiety i piłeczka ;p)
z góry dziękuję :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 16.05.2006 o 20:11, Wojtasss napisał:

Mam mały problem ... muszę zrobić prostą grę w tym języku ... czy ktoś mógłby mi podać link
z jakimiś poradami lub z przykładami takich gierek.... chodzi mi o BARDZO prostą grę jak np.
tenis (2 prostąkoąty to rakiety i piłeczka ;p)
z góry dziękuję :D


Najpierw zadaj sobie pytanie, czy chcesz zrobić to w ASCII czy z użyciem jakiejś biblioteki graficznej. Potem opracuj algorytmy odbijania piłeczki w zależności od tego, gdzie pada(radzę zapoznać się z wektorami)... i tyle w sumie;).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować