[C] Wczytywanie liczby i wyświetlanie sześcianu
[C] Wczytywanie liczby i wyświetlanie sześcianu
Witam. Nie mogę poradzić sobie z napisaniem programu: "Należy wczytać ciąg liczb rzeczywistych. Wczytywanie należy zakończyć, gdy pojawi się liczba ujemna. Dla każdej wczytanej liczby należy obliczyć jej sześcian. Numer kolejny liczby, tę liczbę oraz jej sześcian należy wyświetlić na ekranie." Z tego co wiem, po wprowadzeniu każdej liczby należy wyświetlić jej sześcian i kolejną liczbę, natomiast po wpisaniu liczby ujemnej program ma się zatrzymać. Z góry dziękuje za pomoc!
Ostatnio zmieniony 14 maja 2014, o 09:51 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
[C] Wczytywanie liczby i wyświetlanie sześcianu
Na chwilę obecną mam taki kod: #include <stdio.h>
Nie potrafię dodać do niego zliczania wprowadzonych liczb :/
Kod: Zaznacz cały
int main()
{
float R, S;
while(R>=0)
{
printf("wprowadz liczbe rzeczywista
");
scanf("%f", &R);
S=R*R*R*R;
printf("Sześcian wynosi %.2f
",S );
}
system("pause");
}
Nie potrafię dodać do niego zliczania wprowadzonych liczb :/
Ostatnio zmieniony 14 maja 2014, o 18:21 przez yorgin, łącznie zmieniany 1 raz.
Powód: Używaj tagów [code] [/code]
Powód: Używaj tagów [code] [/code]
-
- Użytkownik
- Posty: 199
- Rejestracja: 24 maja 2012, o 23:36
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 5 razy
- Pomógł: 30 razy
[C] Wczytywanie liczby i wyświetlanie sześcianu
użwaj [ code ] do pokazywania kodu.
zainicjuj przed pętlą zmienną, np:
a na koniec pętli (lub na początku, wedle uznania) inkrementuj wartość count.
I wydaję mi się, że sześcian liczby liczy się trochę inaczej.
zainicjuj przed pętlą zmienną, np:
Kod: Zaznacz cały
int count = 1 (albo 0, jeżeli uznajemy indeksowanie od zera)
I wydaję mi się, że sześcian liczby liczy się trochę inaczej.
-
- Użytkownik
- Posty: 1931
- Rejestracja: 29 maja 2009, o 11:58
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 145 razy
- Pomógł: 320 razy
[C] Wczytywanie liczby i wyświetlanie sześcianu
1. Formatowanie kodu, bo do tego każdy programista się przyczepi
2. tak jak kolega wyżej napisał, na dzień dobry i na koniec pętli while
3. Można też zrobić dynamiczną tablicę, aby wpisać tyle liczb ile się chce i na koniec wyświetlić wszystkie (pewnie nie zrozumiesz kodu, ale warto się nad tym dłuższą chwilę zastanowić).
oczywiście można dać parę poprawek w tym kodzie, ale w gruncie rzeczy jest ok.
2. tak jak kolega wyżej napisał, na dzień dobry
Kod: Zaznacz cały
int count = 1;
Kod: Zaznacz cały
count++;
Kod: Zaznacz cały
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main()
{
setlocale(LC_ALL, "");
int count = 1, i, liczba = 1;
float *tab0;
float *tab1;
tab1 = malloc(count*sizeof(float));
while (liczba >= 0)
{
tab0 = malloc(count*sizeof(float));
for ( i = 0; i < count; i++)
tab0[i] = tab1[i];
free(tab1);
printf("Podaj nową liczbę: ");
scanf_s("%f", &tab0[count-1]);
liczba = tab0[count - 1];
count++;
tab1 = malloc(count*sizeof(float));
for (int i = 0; i < count; i++)
tab1[i] = tab0[i];
free(tab0);
}
printf("lp liczba sześcian
");
for (i = 0; i < count-2; i++)
printf("%d %.2f %.2f
", i + 1, tab1[i], pow(tab1[i], 3));
free(tab0);
free(tab1);
getchar();
getchar();
return 0;
}