-
-
-
Mam 2 zadania. Drugie prawie zrobione, lecz wyskakuje bład w DevC++. Jakby mogl ktos to naprawic bylbym wdzieczny
Napisz program który rozwiązuje układ dwóch równań liniowych. Upewnij się, że program poprawnie podaje rozwiązanie układu nieoznaczonego, oznaczonego, oraz informuje o braku rozwiązania w przypadku gdy to nastąpi.
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
double a,b,c,d,e,f,D,Dx,Dy,x,y;
int main(int argc, char *argv[])
{
printf("Podaj a:");
scanf ("%f", &a);
printf("Podaj b:");
scanf ("%f", &b);
printf("Podaj c:");
scanf ("%f", &c);
printf("Podaj d:");
scanf ("%f", &d);
printf("Podaj e:");
scanf ("%f", &e);
printf("Podaj f:");
scanf ("%f", &f);
D=ae - db;
Dx=ce-fb;
Dy=af-cd;
if(D==0)
if(Dx==0&&Dy==0);
printf("Układ nierozwiązany");
else
printf ("Układ ma rozwiązanie");
else
{
printf ("rozwiązaniem układu jest")
x=Dx/D;
y=Dy/D;
printf ("x=%f",x);
printf ("y=%f",y);
}
system("PAUSE");
return EXIT_SUCCESS;
}
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Cytat: | lecz wyskakuje bład w DevC++ |
Skoro już wyskoczył to go złap i łaskawie go opisz w tym temacie..
I tak w ogóle to co to za nagłówki? Piszesz w C++ czy C, a może takie małe Combo?
d41d8cd98f00b204e9800998ecf8427e
-
-
-
nie masz przypadkiem z A. Kozikiem ćwiczeń? Chce sie upewnić w jakim jezyku maja byc zrobione te ćwiczenia:P
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Zapomniałem.. Co to ma być?
Cytat: |
D=ae - db;
Dx=ce-fb;
Dy=af-cd;
|
To nie kalkulator ani wolframalpha że mnożysz sobie jak chcesz.
* - mnożenie
/ - dzielenie
Wywal
Cytat: |
#include <cstdlib>
#include <iostream>
|
Bo one są niepotrzebne, popraw to wyżej i powinno być dobrze. Na przyszłość wklejaj błąd.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
też do wywalenia w konsekwencji, a poza tym nie ma tutaj zastosowania cstdlib (stdlib.h - to to samo, nic nie zostało użyte z biblioteki) też do wywalenia zupełnie.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
trochę z if'ami pokaszaniłeś pamiętaj o klamerkach, jak masz jeden wiersz to nie ważne, ale jak więcej to muszą być klamerki!
[ Dodano: 2011-10-20, 22:14 ]
ja bym to zrobił tak ładnie:
Kod: |
#include <stdio.h> // standatrd input output
#include <conio.h> //getch();
float a,b,c,d,e,f; // zmienne współczynników/wyników rónań
float D,Dx,Dy; // wyznaczniki macierzy
float x,y; // rozwiązanie
int main()
{
printf("Podaj wspolczynniki i wynik pierwszego rowniania -> ax+by=c\n");
scanf ("%f %f %f", &a, &b, &c);
printf ("%.2fx + %.2fy = %.2f\n", a, b, c);
printf("Podaj wspolczynniki i wynik drugiego rownia -> ax+by=c\n");
scanf ("%f %f %f", &d, &e, &f);
printf ("%.2fx + %.2fy = %.2f\n", d, e, f);
D= a*e - d*b; // rozwiązanie za pomocą wzoró cramera
Dx= c*e - f*b;
Dy= a*f - c*d;
if(D==0)// wyznacznik macierzy D = 0
{
if(Dx==0 && Dy==0) // obydwa zera to układ sprzeczny
printf("Uklad sprzeczny lub nieoznaczony\n");
else
printf("Uklad sprzeczny\n");
}
else
{
printf ("Rozwiazaniem ukadlu jest\n");
x=Dx/D;
y=Dy/D;
printf ("x=%.2f",x); // % .2 f dokładność wyświetlania do dwóch miejsc po przecinku
printf ("y=%.2f",y);
}
getch(); //dowolny klawisz konczy program
} |
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Jak minimalizm, to można program zakończyć czyszcząc strumień wejściowy i potem getchar() ze stdio.h, nie trzeba conio.h dołączać
Kod: | fflush(stdin);
getchar(); |
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Z tej samej listy zadań jest takie okropne ostatnie - 3. Napisz program klasyfikujący klawisze naciskane na klawiaturze i wyświetlający jeden z napisów:
1. - mała litera
2. - duża litera
3. - cyfra
4. - klawisz ENTER
5. - klawisz ESC
6. - strzałka w lewo
7. - strzałka w prawo
8. - klawisz funkcyjny F1
9. - inny klawisz
do pobierania kodu klawisza wykorzystaj funkcję getch() z biblioteki <conio.h> (http://bit.ly/PP_WN_1).
Może macie jakieś propozycje programu, jestem strasznie zielony w temacie, z trudnościami udało mi się zrobić pierwsze zadanie, ostatnie mnie powaliło.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
ee tam, normalnie to bym jeszcze to wszystko w ładnego while wsadził co by naparzało ile razy chce, ale takie rzeczy to już dla wybranych
generalnie to ma być czytelne i działać, po co pchać tam rzeczy z których nie korzystasz?
d41d8cd98f00b204e9800998ecf8427e
-
-
-
PatrolEz napisał/a: | Jak minimalizm, to można program zakończyć czyszcząc strumień wejściowy i potem getchar() ze stdio.h, nie trzeba conio.h dołączać
Kod: | fflush(stdin);
getchar(); |
|
fflush jest niezdefiniowany dla strumieni wejściowych. Działanie powyżeszgo kodu jest zależne od tego jakie było widzimisię twórców kompilatora. Najprawdopodobniej będzie działać pod Windows, na pewno nie w systemach Unixo-podobnych.
http://faq.cprogramming.c...8&id=1043284351
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Nie będę zakładać nowego topicu, bo szkoda zasmiecac forum.
Próbuję przerobić program wcześniej napisany w C++ na C, nie wiem jednak jak w prosty sposób zapisać poniższą formułe w jednym wierszu w języku C ,
Kod:
Kod: | cout <<"tablica[" << i << "]= " << tablica[i] << "\"n"; |
Pisanie non stop takim sposobem jest strasznie mozolne
Kod:
Kod: | printf ("tablica[") ;
printf ("%d", &i);
printf ("]= ");
printf("%d\n", tablica[i] ) ; |
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Sprawdź
Kod: | printf("tablica[%d]= %d\n",i,tablica[i]); |
d41d8cd98f00b204e9800998ecf8427e
-
-
-
mkowalski napisał/a: | Sprawdź
Kod: | printf("tablica[%d]= %d\n",i,tablica[i]); |
|
Dzięki działa bezproblemowo . Mam jeszcze jedno pytanie do zadania
PROGRAM, KTÓRY WCZYTUJE DANE Z KLAWIATURY DO 10-CIO ELEMENTOWEJ
TABLICY LICZB DOUBLE(...),
Na wstępie określiłem
Kod: | const int n = 10;
double tab[n]; |
.
Kompilator napotyka problem, przy podawaniu elementów tablic z klawiatury
Dla działa bez zarzutów, przy przerobieniu na C, pojawiają się problemy
jestem pewien że ta komenda jest zła, błąd może być przy "%d", niestety brakuje mi jeszcze doświadczenia, przy czym zdaje się na wasze opinie.
Po wpisaniu pierwszego elementu tablicy z klawiatury, wywala taki bład
Kod: | "Unhandled exception at 0x10296af2 in brudnopis.exe: 0xC0000005: Access violation writing location 0xcccccccc." | .
Z góry dziękuję za odpowiedzie:)
Ostatnio zmieniony przez Soban 2011-10-23, 11:34, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
Ostatnio zmieniony przez Gorgonek 2011-10-23, 13:52, w całości zmieniany 1 raz d41d8cd98f00b204e9800998ecf8427e
-
-
-
Wyczuwam Twoje negatywne podejście. Jeżeli myślisz ze wstaje rano po to aby wymyślać problemy i potem truć ludziom nimi głowę to jesteś w błędzie. Pozwolę sobie wiec sprostować
"Chodzisz w ogóle na wykłady?" Mimo że chodzę na wykłady, to wiem że nie pomogą mi na tyle ile same siedzenie przed komputerem i tłuczenie programów. Wykłady mam w C ćwiczenia w C++, mimo małej różnicy z początku trzeba przy tym trochę posiedzieć. Już teraz na ćw mamy tablice, gdzie ma Wykładach będziemy mieć je dopiero w styczniu . Korzystam aktualnie z 2ch książek i masy stron poświęconych właśnie temu przedmiotowi. Cóż tak wiec wygląda moje leserstwo. Nie zapomnij o przysłowiu "zapomniał wół, kiedy cielęciem był"
Co do tematu,
Kod: | scanf("%f", [b]&[/b]tab[i]) |
wklepałem to do programu, po skompilowaniu wywalilo mi
Kod: | error C2059: syntax error : '[' | dla tego wiersza, dziwne "wizualnie" to co napisałeś wygląda dobrze.
co do "&" na innym forum zostałem wprowadzony w bład, że nie mozna go uzywac przy tablicach. z Doswiadczenia jak wpisywałem "&" wywalało mi bład, tylko nie uzywałem tak jak ty
, teraz musiałbym szukac w necie co to oznacza, bo raczej to nie jest pogrubienie...
Pozdrawiam.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Kod: | for (int i=0;i<6;i++)
{
printf("Podaj warosc = ");
scanf ("%d",&tab[i]);
} |
i to jakoś działa całkiem dobrze, mimo że jest w tablicy
d41d8cd98f00b204e9800998ecf8427e
-
-
-
Soban, problem i mój błąd polega na tym, że nie sprawdziłem jak pogrubienie forumowe [ b ] [ /b ] się wyświetla w [ code ] [ /code] Miało być samo Kod: | scanf("%f", &tab[i]); |
Co do reszty, to pamiętam swoje początki. Obywałem się bez pytania ludzi i nawet szukania na google, a radziłem sobie głównie z pomocą książek i notatek z wykładów. Szczególnie z takimi podstawami.
adamadam90, na pewno z %d jak wczytujesz double? Moim zdaniem %f lub %lf, ale dawno nie pisałem konsolowych aplikacji.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
zdecydowanie %f dla float i %lf dla double.
d41d8cd98f00b204e9800998ecf8427e
-
-
-
no f, ale ja akurat tu wczytywałem int'a
d41d8cd98f00b204e9800998ecf8427e
Powered by phpBB modified by Przemo © 2003 phpBB Group. Then, after many years modified again, this time by Piotrek © 2014 Strona wygenerowana w 26,2ms. Zapytań do SQL: 17
|