Aktywne Wpisy
dxy32 +710
Chrysopoeia +25
Jestem totalnie uzalezniony od czipsów albo coś w tym stylu. Mam 24 lata i od wielu lat (10+) nałogowo wpieprzam czipsy. Zaczęło się od tego, że gdy byłem już totalnie malutki to tata często kupował mi małe paczki czipsów bo już wtedy je uwielbiałem. Obecnie prawie codziennie jem dużą paczkę czipsów (130g). Zdarzają się takie dni gdy zjem więcej. Przykładowo dwa dni temu zjadłem 3 paczki jednego dnia, łącznie 320g. Próbowałem jakoś
#include
int main( void ) // program kopiowania z stdin na stdout
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar ();
}
// 1. zamiana programu jak wyżej na program wykorzystujący formę skrótową
// (po sprawdzeniu działania programu oryginalnego, należy go wykomentować w całości,
// a następnie napisać (odkomentować) wersję skróconą (poniżej)
// while( (c = getchar()) != EOF) { putchar(c); }
// - po sprawdzeniu poprawności działania wprowadzenie kończenia wczytywania
// po wpisaniu znaku końca linii
// 2. Dodanie wczytywania do tablicy znaków
// - definicja tablicy przed pętlą (z zadaną maksymalna długością napisu)
// - po wczytaniu do zmiennej c i wypisaniu na ekranie, podstawienie do tablicy
// - uwaga na zakończenie tablicy:
// - długość nie może być zbyt duża (wprowadzenie nowych warunków)
// - koniec musi byc zawsze zgodny z konwencją
// 3. Dodanie wypisywania wczytanych znaków jako liczb całkowitych
// Program switch.c - w innym pliku
całkiem możliwe, że nadinterpretowuje to zadanie, a rozwiązanie jest jakieś proste.. czekam na pomoc, bo już długo nad tym siedzę. Liczę na podpowiedzi
#programowanie #jezykc #informatyka
Umiesz tablicę zrobić? Jak nie to szukałeś w google jak zrobić?
A co do przeniesienia - no masz znak wczytany już do zmiennej c, umiesz go przypisać do komórki w tablicy? A jak nie to znowu - googlałeś jak to zrobić?
No i wypisanie też chyba powinno być
@radekr:
hmmm
Wygląda, że trzeba chyba sprawdzać nie tylko EOF, ale i
\n
. Ale... gwarancji nie ma :P to jest tak napisane że w sumie tak na prawdę ciężko powiedzieć.!= EOF
na!= '\n'
#include
int main( void ) // program kopiowania z stdin na stdout
{
int c;
//c = getchar();
//while (c != EOF) {
//putchar(c);
//c = getchar ();
//}
char tablica[20]; //definicja tablicy
tablica[20] = c;
// 1. zamiana programu jak wyżej na program wykorzystujący formę skrótową
// (po sprawdzeniu działania programu oryginalnego, należy go wykomentować w całości,
// a następnie napisać (odkomentować) wersję skróconą (poniżej)
while( (c = getchar()) != ("\n"))
@tomekszz: Ta linijka nie ma sensu. W c przed pętlą nic nie masz, a i tablica[20] wpisuje tylko do komórki o indeksie 20, a musisz wstawiać kolejne znak, po znaku (pomiając już to, że nie masz komórki o indeksie 20, bo robiąc tablicę 20-elementową masz komórki z indeksami 0-19). Poszukaj jak się dodaje elementy do tablicy w pętli.
printf("Wypisujemy naszą tablicę: \n");
for (int i = 0; i < 21; i++){
tablica[i] = (tu nwm co wpisać)
printf("\ntablica[%i] = %p", i, ...);
}
while( (c = getchar()) != ("\n")) {
~~~~~~~~~~~~~~~ ^ ~~~~~~
@tomekszz: Wpisujesz to, co ma się znaleźć w tej komórce. W Twoim przypadku to będzie c. Zatem wewnątrz pętli będziesz miał
tablica[i] = c;
. Tylko nie masz w swojej pętlii
, więc musisz to dorobić by wiedzieć do której komórki wpisać. Może póki co tyle podpowiedzi tutaj, pokombinuj sam jak zrobić by była też zmiennai
.A co do warninga - po