| Autor |
Wiadomość |
Temat: C++ znów brak pomysłu |
maniek910
Odpowiedzi: 3
Wyświetleń: 100
|
Forum: Programowanie Wysłany: 2011-09-07, 18:47 Temat: C++ znów brak pomysłu |
| Kod: | Nie zapomnij o 2 pętlach zapętlonych ;-)
liczysz od 0...N, potem 1..n, następnie[....] od n-1 do n
|
Właśnie o tym myślałem ,tak jak napisałem w 1 poscie ale jak to zrobić ? |
Temat: C++ znów brak pomysłu |
maniek910
Odpowiedzi: 3
Wyświetleń: 100
|
Forum: Programowanie Wysłany: 2011-09-07, 11:38 Temat: C++ znów brak pomysłu |
Mam do napisania taki program napisać program wczytuje z klawiatury rozmiar N tablicy, a następnie jej elementy (liczby dodatnie i ujemne), program ma znaleźć przedział w którym suma elementów jest największa, wyświetli tą sume oraz indeksy pierwszego i ostatniego elementu
np.
{1, 3, 4, -1, 5, -9} => start=0, stop=4, suma= 12
{-2, 3, 5, 8, -1, -3, 5} => start=1, stop=6, suma=17
{3, -4, 9, -2, 1} => start=2, stop=2, suma=9
{1,1,1,1,1,1} => start=0, stop=5, suma=6
Trochę nad tym myślałem iiiiiii nie wiem jak to sęsownie rozwiązać sumując kolejne elementy i sprawdzając czy z elementem i+1 jest większy jest głupie może się okazać że za 3 elementy będzie większe pozatym musiał bym n razy przelecieć tablicę zaczynając od i+1 elementu ... Jakieś sęsowne pomysły ? |
Temat: C++ program |
maniek910
Odpowiedzi: 11
Wyświetleń: 259
|
Forum: Programowanie Wysłany: 2011-09-05, 13:55 Temat: C++ program |
Błąd że nie podstawiłem zmiennych przy szukaniu nwd tylko skorzystałem z indexu rozumie ,to że muszę zacząć od 1 bo mi zcina 1 kolumne/wiersz , ale "cholero nie dziel przez zero " warunek if (nwd==0) to zbędne chyba wkońcu indexując od 1 jest niemożliwe dla liczb > 0 aby nwd było 0
| Kod: | /*napisac program ktory dla danego M wyrzuci na ekran tabelke M na M, gdzie kazda komorka bedzie SKROCONYM ulamkiem wiersz/kolumna,
np dla M = 3
1 1/2 1/3
2 1 2/3
3 3/2 1*/
#include <cstdlib>
#include <iostream>
using namespace std;
int const n =100;
struct ulamek{
int licznik;
int mianownik;
};
int main(){
int size;
ulamek tab[n][n];
int zm;
cout << "Podaj rozmiar " << endl;
cin >> size;
for (int i=1; i<size;i++){
for(int j=1;j<size;j++){
int ii = i, jj = j,c=1;
while(c != 0){
c = ii % jj;
ii = jj;
jj = c;
}
zm=ii;
//cout << "NWD to " << zm << endl;
tab[i][j].licznik = i / zm;
tab[i][j].mianownik = j / zm;
}
}
for(int i=1;i<size;i++){
cout << endl;
for(int j=1;j<size;j++){
if(tab[i][j].licznik == tab[i][j].mianownik){
cout << tab[i][j].licznik << " ; " ;
}
else
cout << tab[i][j].licznik << "/" << tab[i][j].mianownik << "; " ;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
Mimo że pominołem w kodzie warunek który sprawdza czy nwd jest ==0 tablica jest wyświetlana poprawnie .
P.S jaką książkę polecił byś mi do nauki C++ bo np w Symfoni (o dupę otłuc) na temat Struktur jest 1 strona i wszystko co tam jest to jak ją zadeklarować ... Najlepiej żeby była to książka na mój poziom (jaki poziom mam sam widzisz ) |
Temat: C++ program |
maniek910
Odpowiedzi: 11
Wyświetleń: 259
|
Forum: Programowanie Wysłany: 2011-09-04, 20:42 Temat: C++ program |
nie rozumie ... co mi da | Kod: | tab[i][j].licznik = i;
tab[i][j].mianownik = nwd; |
np dla pozycji 2,2 wyjdzie mi ze i = 2; i nwd tez 2 ale ja chce to skrucić żeby wyświetliło mi 1/1 |
Temat: C++ program |
maniek910
Odpowiedzi: 11
Wyświetleń: 259
|
Forum: Programowanie Wysłany: 2011-09-04, 17:18 Temat: C++ program |
A więc napisałem , potrafię znaleźć dla odpowiedniego wiersza kolumny Największy wspólny dzielnik aleeeeee gdy poprostu podstawię go na zasadzię
| Kod: | tab[i][j].licznik = i/nwd;
tab[i][j].mianownik = j/nwd; |
wyskakuje błąd mój code
| Kod: | /*napisac program ktory dla danego M wyrzuci na ekran tabelke M na M, gdzie kazda komorka bedzie SKROCONYM ulamkiem wiersz/kolumna,
np dla M = 3
1 1/2 1/3
2 1 2/3
3 3/2 1*/
#include <cstdlib>
#include <iostream>
using namespace std;
int const n =100;
struct ulamek{
int licznik;
int mianownik;
};
int main(){
int size;
ulamek tab[n][n];
int c,zm;
cout << "Podaj rozmiar " << endl;
cin >> size;
for (int i=0; i<size;i++){
for(int j=0;j<size;j++){
while(c != 0){
c = i % j;
i = j;
j = c;
}
zm=i;
cout << "NWD to " << zm << endl;
tab[i][j].licznik = i;
tab[i][j].mianownik = j;
}
}
for(int i=0;i<size;i++){
cout << endl;
for(int j=0;j<size;j++){
cout << tab[i][j].licznik << "/" << tab[i][j].mianownik << "; " ;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
 |
Temat: C++ program |
maniek910
Odpowiedzi: 11
Wyświetleń: 259
|
Forum: Programowanie Wysłany: 2011-09-03, 14:02 Temat: C++ program |
a więc chciałem sobie zobaczyć tą strukture napisałem takie coś
| Kod: | #include <cstdlib>
#include <iostream>
using namespace std;
int const n =10;
int main(){
int tab[n];
struct ulamek{
int licznik;
int mianownik;
}
for (int i=0; i<n; i++){
cin >> tab[i].licznik ;
cin >> tab[i].mianownik;
}
for(int i=0;i<n;i++)cout << tab[i] << " ";
system("PAUSE");
return EXIT_SUCCESS;
} |
niestety program wyświetlił mi :
error: expected unqualified-id before "for"
error: `i' was not declared in this scope
error: expected `;' before ')' token |
Temat: C++ program |
maniek910
Odpowiedzi: 11
Wyświetleń: 259
|
Forum: Programowanie Wysłany: 2011-09-03, 12:50 Temat: C++ program |
Chce napisać takie coś :
napisac program ktory dla danego M wyrzuci na ekran tabelke M na M, gdzie kazda komorka bedzie SKROCONYM ulamkiem wiersz/kolumna,
np dla M = 3
1 1/2 1/3
2 1 2/3
3 3/2 1
ze skruceniem ułamków nie będzie problemu skorzystam z algorytmu Euklidesa na NWD ale jak do "jedenj komórki " wpakować ułamek ? bo z pojedyncza liczbą nie ma problemu ale za bardzo nie wiem jak wprowadzić ułamek , moja wstępna propozycja
| Kod: | #include <cstdlib>
#include <iostream>
using namespace std;
int const n = 20;
int const m = 20;
int main()
{
int tab[n][m],size;
cout << "Podaj wymiar boku macierzy" << endl;
cin >> size;
cout << "tablica" << endl;
cout << "uzupełnij tabele" << endl;
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
cin >> tab[i][j];
}
}
for(int i=0;i<size;i++){
cout << endl;
for(int j=0;j<size;j++){
cout << tab[i][j] << " " ;
}
}
system("PAUSE");
return EXIT_SUCCESS;
} |
oczywiście puki co liczby wpisuje z klawiatury ... |
Temat: Który język lepszy - czyli szkolne rozważania |
maniek910
Odpowiedzi: 10
Wyświetleń: 76
|
Forum: Programowanie Wysłany: 2011-09-03, 10:53 Temat: Który język lepszy - czyli szkolne rozważania |
ExeQtoR ;D co do twojego zdarzenia z wykroczeniem poza tablicę faktycznie pisząc ten program zastanawiałem się jak będzie z tym i+1 dla 9 , ale po napisaniu uznałem że jest ok skoro wylicza ok
co do wyboru języka niestety jestem skazany puki co na C++ , w pierwszym roku studiów byłem nastawiony na Matlaba ale teraz będę katowany C++ no i się uczę ... co do środowiska ja sam w "domu" piszę na Xp gdy będę robił to na uczelini będzie to ubuntu bardzo czuły na wszelkie małe usterki
P.S podejrzewam że trafienie takiej samej wartości w "wolnej klatcę" jak moja ostatnia wartość w tablicy jest nawet mniejsza niż trafienie 6-tki w totka ;d ,sprawdzałem kiedyś jak definiuje się taka niezadeklarowana tablica są to zazwyczaj liczby żędu 3123123123 ,no ale przypadki chodzą po ludziach |
Temat: C++ brak pomysłu |
maniek910
Odpowiedzi: 1
Wyświetleń: 118
|
Forum: Programowanie Wysłany: 2011-09-02, 00:34 Temat: C++ brak pomysłu |
A więc chciałem napisać program który z tablicy pokazuję liczby które się powtarzają i ile razy się powtórzyły ,mianowicie dla tablicy: {13, 4, 4, 13, 25, 13} program wypisze: 25-1, 13-3, 4-2, jakieś propozycję na algorytm ? Wpierw wole sam pomysł żebym mógł sam spróbować napisać
EDIT problem rozwiązałem i program działa nie wiem na ile jest wydajny ale działa
| Kod: | /*zadeklarowac tablice liczb rzeczywistych o twm 10. uzytkownik podaje N (ilość elementow (liczb naturalnych)
ktore chce wpisac do tab) nastepnie wpisuje je po kolei. Program ma wyszukac powtarzajace sie liczby i wypisac
je wraz z ilością ich wystąpień.
czyli dla tablicy: {13, 4, 4, 13, 25, 13} program wypisze: 25-1, 13-3, 4-2 */
#include <cstdlib>
#include <iostream>
using namespace std;
int const n = 10;
int main()
{
int tablica[n],smp;
for(int i=0;i<n;i++) tablica[i] = rand() % 5;
cout << "Tablica przed posortowaniem " << endl;
for(int i=0;i<n;i++) cout << tablica[i] << " " ;
//----------------------------------------//
for(int i=0;i<n;i++){ // przeglądamy tablicę n razy :P
for(int j=0;j<n;j++){ // przelatujemy po elementach pętli
if(tablica[j] > tablica[j+1]){
smp=tablica[j+1];
tablica[j+1]=tablica[j];
tablica[j]=smp;
}
}
}
cout << endl;
cout << "Po posortowaniu" << endl;
for(int i=0;i<n;i++) cout << tablica[i] << " ";
cout << endl;
cout << "Wyswietlenie ilosci powturzen" << endl;
int licznik=1;
for(int i=0;i<n;i++){
if(tablica[i]==tablica[i+1])licznik++;
else{
cout << " ilosc powturzen " << tablica[i] << " to - " << licznik ;
licznik =1;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
|
Temat: C++ problem z algorytmem |
maniek910
Odpowiedzi: 7
Wyświetleń: 73
|
Forum: Programowanie Wysłany: 2011-08-27, 11:55 Temat: C++ problem z algorytmem |
| Kod: | for(int i=0;i<tab1[size-1];i++){
if(tab[i]!=0) cout << tab[i] << " ";
}
| działa ~~ ale tak naprawdę nie widzę logicznej różnicy xD między moim a twoim kodzikiem no ale nic, teraz mi powiedz jak pobrać tą date systemową ?
P.S
co do twojego kodu widzę że tablice są na wskaźnikach , niestety wskaźników jeszcze się nie uczyłem |
Temat: C++ problem z algorytmem |
maniek910
Odpowiedzi: 7
Wyświetleń: 73
|
Forum: Programowanie Wysłany: 2011-08-27, 10:45 Temat: C++ problem z algorytmem |
Dziękuję bardzo że chciało Ci się dla mnie to naskrobać przeanalizuję i spróbuję sam też napisać , ale w między czasie siedziałem trochę i też napisałem ten program ale w inny sposób mianowicie mam c.fibonaciego i 2 tablice od 0 do n sprawdzam które liczby są takie same jeśli takie znajdę zeruje je w tablicy pomocniczej i potem tą tablice wyświetlam program ladnie śmiga mianowicie mam jeden problem mam nadzieję że powiesz mi czemu go mam mianowicie | Kod: | #include <iostream>
using namespace std;
int const n=200; // rozmiar tablicy pomocniczej
int const m=50; //ilosc elementow ciagu (maxymalna)
int main()
{
int tab[n],tab1[m],size;
cout <<"ile elementow pokazac" << endl;
cin >> size;
tab1[0]=0;
tab1[1]=1;
for(int j=2;j<size;j++){
tab1[j]=tab1[j-1]+tab1[j-2];
}
for(int j=0;j<size;j++)cout << tab1[j] << " " ; // show fib
for(int i =0;i<tab1[size-1];i++){
tab[i]=i;
}
for(int i =0;i<tab1[size-1];i++){
for(int j=0;j<size;j++){
if(tab[i]==tab1[j])tab[i]=0;
}
}
cout << endl;
for(int i=0;i<tab1[size-1];i++)cout << tab[i] << " ";
system("PAUSE");
return EXIT_SUCCESS;
}
|
wszystko ladnie pokazało aleeee chciałem wyświetlic w petli te elementy już bez 0 czyli tylko te co mi brak i tu jest dziwny problem oO piszę
| Kod: |
for(int i=0;i<tab1[size-1];i++){
if(tab[i]==0)i++;
else
cout << tab[i] << " ";
}
|
i efekt mam taki
jak pewnie zauważyłeś z bliżej nieznanych mi przyczyn ucieło np liczby takie jak 6 czy 9 wiesz może czemu ? |
Temat: C++ problem z algorytmem |
maniek910
Odpowiedzi: 7
Wyświetleń: 73
|
Forum: Programowanie Wysłany: 2011-08-26, 21:45 Temat: C++ problem z algorytmem |
| Cytat: | | 4) generujesz nową tablicę od 0 do N gdzie N to Twoja końcowa liczba(większa lub równa ostatniej liczbie Ciągu FIBtablica), ale Tablica jest typu BOOL, ustawiasz wszystko na True;-)))))) | za dobry w logice nie jestem w c++ ale jeśli utworze taka tablice i napisze np bool tablica[m] ; to tablica mimo uprzedniego wypelnienia liczbami od 0 do n przyjmie wartosci 1 jako true .
| Cytat: | | TablicaNowa[TablicaFib[i]] = False; | tablica od tablicy czy takie coś jest możliwe w c++ ? |
Temat: C++ problem z algorytmem |
maniek910
Odpowiedzi: 7
Wyświetleń: 73
|
Forum: Programowanie Wysłany: 2011-08-26, 17:45 Temat: C++ problem z algorytmem |
Mam pewien problem otóż nie mogę wykminić żadnego działającego sposobo na mój problem mam tablice(w tym wypadku są to kolejne elementy ciągu fibonaciego)
0 1 1 2 3 5 8 mój program ma mi wypisać liczby nie należące do danego ciągu dla tego przykładu było by to 4 6 i 7 .
miałem pomysł ,stworzyć pomocniczą tabele od 0 do n czyli 0,1,2,3,4,,,n i porównywać pokolei elementy z ciągiem ale wtedy wypisuje bzdury ,chciałem porównywać na zasadzie że jeśli liczba poróżnien w całym obiegu dla danej liczby jest równa ilości sprawdzanych liczb to ta liczba w niej nie wystepuje niestety prgram mi nie działa moje wypociny ...
| Kod: |
#include <iostream>
using namespace std;
int const n = 5;
int const m = 5;
int main()
{
int tab[n];
int tab_1[m];
for(int i=0;i<n;i++){
tab[i]=i;
}
for(int j=0;j<m;j++)cin >> tab_1[j] ;
for(int i=0;i<n;i++){
int s=0;
for(int j=0;j<m;j++){
if(tab[i]!=tab_1[j])s=s+1;
if(s==6)cout << tab[i];
}
}
system("PAUSE");
return EXIT_SUCCESS;
} |
|
Temat: C++ problem z programem |
maniek910
Odpowiedzi: 7
Wyświetleń: 100
|
Forum: Programowanie Wysłany: 2011-08-24, 10:35 Temat: C++ problem z programem |
Powiem Ci że zazwyczaj piszę "return EXIT_SUCCESS;" ale bez zazwyczaj działa ... kiedy nie działa ? Jak dla mnie kwestia kompilatora ,zarówno w DevC++(bardzo stare standardy) jak i codeblock(trochę nowsze standardy) i gdy piszę coś w g++ na ubuntu (najnowsze standardy kąpilacji) też działa a czasem nie dziwne prawda ale tak wynika z wielokrotnych prób |
Temat: C++ problem z programem |
maniek910
Odpowiedzi: 7
Wyświetleń: 100
|
Forum: Programowanie Wysłany: 2011-08-23, 21:05 Temat: C++ problem z programem |
sensowne nie xD zmienna została po tym jak program pisałem dla 1 liczby i zapomniałem usunąć . Tak program kąpiluje się elegancko luknij
 |
| |