Sorry poprawka to jest dobry programik dla liczb wzglednych:
#include <stdio.h>
int main()
{
int lb1=0,lb2=0,wynik=0,wynik2=0,temp;;
printf("Program sprawdzi czy liczby sa wzglednie pierwsze");
printf("Podaj dowolne dwie liczby\n");
printf("Podaj pierwsza liczbe\nLiczba: ");
scanf("%d",&lb1);
printf("\n\nPodaj druga liczbe\nLiczba: ");
scanf("%d",&lb2);
do
{
if (lb1==1)
{
printf("Liczby sa wzglednie pierwsze");
break;
}
wynik=lb1/lb2;
wynik2=lb2%lb1;
temp=lb2;
lb2=lb1%lb2;
lb1=temp;
if (lb2==0)
{
printf("Liczby nie sa wzglednie pierwsze\n");
break;
}
else if(lb2!=0)
{
if(wynik==0 && wynik2!=0)
{
printf("Liczby sa wzglednie pierwsze");
break;
}
else continue;
}
}
while(lb2!=0);
getch();
return 0;
}
Offline
wersja beta...(na licencji gpl 2.0)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
int n,i;
double w;
printf("podaj liczbe wymiarow\n");
scanf("%d",&n);
int tab[n],tab1[n];
int j =0;
for (i=0;i<n;i++)
{
printf("podaj zmienna dla pierwszego punktu %d wymiaru\n",i+1);
scanf("%d",&tab[i]) ;
}
for (i=0;i<n;i++)
{
printf("podaj zmienna dla drugiego punktu %d wymiaru\n",i+1);
scanf("%d",&tab1[i]);
}
w=0;
for (i=0;i<n;i++)
{
printf("i= %d\n",i);
printf("tab[i]=%d\n",tab[i]);
printf("tab1[i]=%d\n",tab1[i]);
}
for (i=0;i<n;i++)
{
w += ((tab1[i]-tab[i])*(tab1[i]-tab[i]));
printf("w=%f\n",w);
}
printf("wyr = %f", sqrt(w));
system("Pause");
}
Offline
To jest program z dzisiejszych laborek. Dostalem za niego 4 punkty (ach!!! :-P), wiec powinien byc dobrze.
#include <stdio.h> int main() { int a = 0; int max = 0, min = 0; int i_max = 0, i_min = 0; int i = 1; printf("Wprowadz liczbe(k aby zakonczyc): "); if(!scanf("%d", &a)) return 0; max = min = a; i_max = i_min = 1; while(1) { printf("Wprowadz liczbe(k aby zakonczyc): "); if(!scanf("%d", &a)) break; i ++; if(a > max) { max = a; i_max = i; } if(a < min) { min = a; i_min = i; } } printf("Maksymalna wartosc = %d numer: %d\n", max, i_max); printf("Minimalna wartosc = %d numer: %d\n", min, i_min); return 0; }
Offline
Ale to kończy program po wpisaniu czegokolwiek co nie jest liczbą, a nie konkretnie "k" (lub "K")... Więc w gruncie rzeczy nie zrobiłeś do końca tego co miałeś zrobić... Po prostu miałeś fuksa...
Offline
Ekhem ;-)
Racja - program konczy przy wpisaniu czegokolwiek innego, ale przy okazji jest zaimplementowana obsluga bledow :-P. Zreszta nie tylko ja tak zrobilem (tutaj pozdro dla... - o juz adreset pozdrowien wie, ze to dla niego :-))
A to jest wersja ktora konczy tylko po wpisaniu literki 'k':
#include <stdio.h> int main() { int a = 0; int max = 0, min = 0; int i_max = 0, i_min = 0; int i = 1; printf("Wprowadz liczbe(k aby zakonczyc): "); if(!scanf("%d", &a)) { /* [ZMIENIONE] */ if(getchar() != 'k') printf("BLAD!!!\nMozesz wprowadzac tylko liczby calkowite lub litere 'k'!\n"); /* [/ZMIENIONE] */ return 0; } max = min = a; i_max = i_min = 1; while(1) { printf("Wprowadz liczbe(k aby zakonczyc): "); if(!scanf("%d", &a)) { /* [ZMIENIONE] */ if(getchar() != 'k') { printf("BLAD!!!\nMozesz wprowadzac tylko liczby calkowite lub litere 'k'!\n"); return 0; } else break; /* [/ZMIENIONE] */ } i ++; if(a > max) { max = a; i_max = i; } if(a < min) { min = a; i_min = i; } } printf("Maksymalna wartosc = %d numer: %d\n", max, i_max); printf("Minimalna wartosc = %d numer: %d\n", min, i_min); return 0; }
Offline