jaresxeni
-
Liczba zawartości
5 -
Rejestracja
-
Ostatnia wizyta
Typ zawartości
Profile
Blogi
Forum
Kalendarz
Posty dodane przez jaresxeni
-
-
Na to nie wpadłem ;/ Dzięki za szybką pomoc
-
Witam, mam problem z programem który próbuje napisać, ma on pobrać z głównego programu tablice do funkcji i tu sie zaczynają schody, poniewaz do funkcji pobiera liczby z kosmosu . Próbowałem na dwa sposoby i w obu przypadkach taki sam efekt
sp1:
#include<iostream> #include<math.h> using namespace std; void srednia(double *c); int main() { double T[5]; //----- Podanie cen --------- for(int a=1;a<=5;a++) { cout<<"Podaj cene "<<a<<" rzeczy \n"; cin>>T[a]; } double *tab= T; for(int a=1;a<=5;a++) { cout<<T[a]<<endl; } srednia(tab); return 0; } void srednia(double *c) { int a; double suma=0,sr=0,t[5]; for(a=1;a<=5;a++) { suma+=t[a]; } sr=suma/5.0; cout<<suma<<endl; cout<<"sred "<<sr<<endl; cout<<"ceny poniżej sredniej \n"; for(a=1;a<=5;a++) { if(t[a]<sr) cout<<"na pozycji "<<a<<" cena = "<<t[a]<<endl; } }
sp2:
#include<iostream> #include<math.h> using namespace std; void srednia(double c[5]); int main() { double T[5]; //----- Podanie cen --------- for(int a=1;a<=5;a++) { cout<<"Podaj cene "<<a<<" rzeczy \n"; cin>>T[a]; } for(int a=1;a<=5;a++) { cout<<T[a]<<endl; } srednia(T); return 0; } void srednia(double c[5]) { int a; double suma=0,sr=0,t[5]; for(a=1;a<=5;a++) { suma+=t[a]; } sr=suma/5.0; cout<<suma<<endl; cout<<"sred "<<sr<<endl; cout<<"ceny poniżej sredniej \n"; for(a=1;a<=5;a++) { if(t[a]<sr) cout<<"na pozycji "<<a<<" cena = "<<t[a]<<endl; } }
Będe wdzięczny jak ktoś mi powie gdzie robie błędy
-
O ładnie ;/ nie wiem jak to sprawdzałem że nie za uważyłem tego. No i teraz się okazało że jest pełno błędów a ja sobie niemogłęm z jednym poradzić
Dziękuje za pomoc @Luki91 twoje sugestie bardzo mi pomogły, dodanie nowej zmiennej i edycja jednego warunku przyniosły pozytywny skutek jeszcze tylko sprawdze czy aby na pewno działą dla wszystkich liczb
Tak wyglada poprawny kod tego programu (program sprawdiłem ale nie daje 100% pewności bo znowu mogłem coś przeoczyć) może komuś sie przyda jeszcze Jeszcze raz dziękuje @Luki91 za szybką pomoc.
#include <iostream> #include <math.h> #include <string> using namespace std; string jednosci[10]={"","jeden ","dwa ","trzy ","cztery ","piec ","szesc ","siedem ","osiem ","dziewiec "}; string nastki[11]={"","dziesiec ","jedenascie ","dwanascie ","trzynascie ","czternascie ","pietnascie ","szesnascie ","siedemnascie ", "osiemnascie ","dziewietnascie "}; string dziesiatki[10]={"","dziesiec ","dwadziescia ","trzydziesci ","czterdziesci ","piecdziesiat ","szescdziesiat ","siedemndziesiat ", "osiemdziesiat ","dziewiecdziesiat "}; string setki[10]={"","sto ","dwiescie ","trzysta ","czterysta ","piecset ","szescset ","siedemset ","osiemset ","dziewiecset "}; int main() { int j=0,liczba,koncowka,k=1,c=0; string i,slownie=""; //------- Petla pozwalajaca wpisac kolejne cyfry --------------- while(k>0) { if(k>1) { cout<<"chcesz podac jeszcze raz ? (TAK/NIE)\n"; cin>>i; cout<<endl; if(i=="TAK"||i=="tak"||i=="Tak") { k=1; j=0; slownie=""; } else return 0; } //-------- Pogram zamieniajacy na slowa -------------- cout<<"podaj liczbe z zakresu 1-999 \n"; cin >> liczba; if (liczba<1||liczba>999) { cout<<"liczba nie jest z zakresu 1-999"; return 0; } do { koncowka = liczba % 10; liczba = liczba / 10; if (j==3||(j==2&&c!=1)) { slownie=setki[koncowka]+slownie; } if (j==1) { slownie=dziesiatki[koncowka]+slownie; } if (j==0 && (liczba%10!=1)) { slownie=jednosci[koncowka]+slownie; } if (j==0 && (liczba%10==1)) { slownie=nastki[koncowka+1]+slownie; liczba=liczba*10; c=1; } j=j+1; } while(liczba>0); k++; c=0; cout << slownie <<endl<<"----------------- \n"<<endl; } return 0; }
-
Witam, mam problem z programem napisanym w języku c++.
W programie mamy podaj jakąś liczbe z zakresu 1-999 a on ma nam ją zapisać słownie.Napisałem cały program, który działa prawie bez błednie, tzn wypisuje wszystkie liczby ale gubi się przy jednej mianowicie 111, wiem dlaczego ale nie mam pomysłu jak to naprawić. Poniżej podaje cały kod prograu. Z góry dziękuje za pomoc.
#include <iostream> #include <math.h> #include <string> using namespace std; string jednosci[10]={"","jeden ","dwa ","trzy ","cztery ","piec ","szesc ","siedem ","osiem ","dziewiec "}; string nastki[11]={"","dziesiec ","jedenascie ","dwanascie ","trzynascie ","czternascie ","pietnascie ","szesnascie ","siedemnascie ", "osiemnascie ","dziewietnascie "}; string dziesiatki[10]={"","dziesiec ","dwadziescia ","trzydziesci ","czterdziesci ","piecdziesiat ","szescdziesiat ","siedemndziesiat ", "osiemdziesiat ","dziewiecdziesiat "}; string setki[10]={"","sto ","dwiescie ","trzysta ","czterysta ","piecset ","szescset ","siedemset ","osiemset ","dziewiecset "}; int main() { int j=0,liczba,koncowka,k=1; string i,slownie=""; //------- Petla pozwalajaca wpisac kolejne cyfry --------------- while(k>0) { if(k>1) { cout<<"chcesz podac jeszcze raz ? (TAK/NIE)\n"; cin>>i; cout<<endl; if(i=="TAK"||i=="tak"||i=="Tak") { k=1; j=0; slownie=""; } else return 0; } //-------- Pogram zamieniajacy na slowa -------------- cout<<"podaj liczbe z zakresu 1-999 \n"; cin >> liczba; if (liczba<1||liczba>999) { cout<<"liczba nie jest z zakresu 1-999"; return 0; } do { koncowka = liczba % 10; liczba = liczba / 10; if (j==2) { slownie=setki[koncowka]+slownie; } if (j==1) { slownie=dziesiatki[koncowka]+slownie; } if (j==0 && (liczba%10!=1)) { slownie=jednosci[koncowka]+slownie; } if (j==0 && (liczba%10==1)) { slownie=nastki[koncowka+1]+slownie; liczba=liczba/10; } j=j+1; } while(liczba>0); k++; cout << slownie <<endl<<"----------------- \n"<<endl; } return 0; }
najkrótsza droga między miastami c++
w Programowanie
Napisano
Witam, pisze program który ma podobne działanie jak komiwojażer ale nie tak skomplikowane.
Cały kod napisałem problem jest taki ze nie wyświetla nazw miast w odpowiedniej kolejności, siedzę nad tym już kilka godzin zmieniam na różne sposoby warunki ale bez skutku. Będe bardzo wdzięczny za szybką pomoc.