Piszę program i używam funkcji scanf która wrzuca liczby do tablicy o podanej wielkości. Gdy np. jej rozmiar jest 2 (czyli 2x2) program pyta się o 4wartości, czyli można je wpisać po spacji, albo po enterze i będzie dobrze. Ale chce zrobić coś takiego, że gdy użytkownik wpisze np. "3 5" ENTER "8 12 13" pojawi się jakaś informacja, że wpisał tych liczb...
Witam Chcialbym pobrac dane przy pomocy scanf (lub innej funckji) tylko najpierw pobieram jedna linie i tam m.in. dowiaduje sie ile liczb bede mial w drugiej linii. liczby te sa oddzielone spacjami. zalezy mi na wczytaniu tej drugiej linii wlasnie, z pierwsza dalem sobie rade. problem tkwi w tym, ze podczas dzialania programu dowiaduje sie ile tych...
Zestawy danych wyglądają zawsze w ten sposób: Imie: jakiesimie; Nazwisko: jakiesnazwisko; itd jakiesimie i jakiesnazwisko itd to zmienne, które muszę wczytać. Czyli muszę wczytać to co jest po spacji aż do średnika A jak wpisuję while(scanf("%d%c%d %c %d%c%d",a,znak,b,operacja,c,znak1,d... To po wpisaniu danych zaraz mi błąd...
program ma wczytywac tekst z klawiatury i zamienic na kod ascii. Gdy wypisujemy tablice z kodem, wypisuje nam tylko do pierwszej spacji. trzeba jakos zastrzec sprawdzenie nastepnego znaku przy wczytywaniu stringa, ale nie wiem jak:( PS. pram ma być napisany w języku C lub c++ kod: ----------------------------------------...
Jak uniemożliwić wprowadzenie liter do zmiennej float? Najprościej - pobieraj znaki pojedynczo i filtruj tylko to, co chcesz żeby było dozwolone. Przy okazji rozwiążesz słynny problem kropki/przecinka. Jednak podany tekst wyświetlany jest tylko do spacji. Związane jest to z działaniem funkcji scanf - poczytaj dokładnie jak się ona zachowuje (jak są...
że program kończy swoje działanie bo napisie "raz" Krótki test i wyszło dlaczego tak jest. Otóż nie da się czytać spacji przez scanf("%s"). Szybkie pytanie do googla i odpowiedź (stackoverflow.com/questions/6282198/rea... się znalazła. Oto poprawiony program: [syntax=c]#include <stdio.h> int main(void){...
Jeśli użyłeś gets(buf) lub scanf("%s", buf) - to na nic zabezpieczenia. :P Możesz kodem rzucić? :>
Dobra. Rozumiem to co napisałeś. Tylko, że ja nawet nie wiem jak to ubrać w język C. Rozumiem, że mam pobrać tekst poprzez "scanf" i zrobić to do tablicy żeby to przechować?
Nie za bardzo rozumie o co chodzi z tymi liczbami, które są przypisane przez define'a, a Ty chcesz je wczytywać? Bo jeżeli chodzi o wczytanie trzynastu cyfr dowolnej długości, oddzielonych od siebie spacjami, do jakiś tam zmiennych, to nie widze żadnego problemu. Tylko jakiego typu chcesz mieć te zmienne? Bo jak wystarczy Ci string, to najłatwiej to...
A poza tym to chyba niekompletny ten kod... co to za scanf bez zmiennej?
Przecież to zadanie dotyczy sprawdzania poprawności danych wejściowych - a Ty założyłeś, że będzie 5 znaków, spacje, 10 znaków, spacje itd... Jak będzie więcej niż 5, 10 czy ileśtam, to Twój program, kolokwialnie mówiąc, pójdzie w buraki. Używając konwersji %s scanf pominie białe znaki - już to dyskwalifikuje taki pomysł. Poza tym musisz mieć w tablicy...
Sprawa jest prosta - scanf("%c", &c) wczytuje pojedynczy znak, ale pozostaje Ci jeszcze w buforze stdin nieskonsumowany znak końca wiersza. Ten zostaje przechwycony przez kolejne wywołanie scanf(...). Sprawa wczytywania z konsoli jest dodatkowo skomplikowana przez buforowanie w trybie liniowym, oraz przez nie zawsze pożądane pomijanie białych znaków...
Witam! Mam do napisania cos takiego: Napisz program, który będzie dodawać, odejmować, mnożyć i dzielić ułamki zwykłe. Wejście Na wejście programu podana zostanie pewna ilość (co najwyżej 10.000) zestawów danych. Każdy z zestawów ma postać a/b op c/d gdzie a, b, c i d to liczby całkowite z zakresu 1-1.000.000, a op jest jednym ze znaków +, -,...
Skoro wczytuje się liczbę członków to chyba struct czlonek spol[x]; (tak wiem, że to niestandardowe rozszerzenie, ale skoro deklaracja jest przesunięta za wczytamie wielkości...) i for (n=0; n<x; n++) . Nieco małe są rozmiary pół - 1 znak na wielkość wkładu? 3 na datę? 10 na imię i nazwisko? Imienia i nazwiska nie bardzo idzie wczytać...
Witam! Bardzo dobrze. Oto właśnie chodziło. (Mam na myśli Twoje rozwiązanie) Popełniłeś tylko "błąd mechaniczny". W pętli for zmienna sterującą jest "j", a w printf indeksujesz "i". Zmień w printf indeks z i na j a zobaczysz co się stanie... Pozdrawiam! P.S. Tylko pamiętaj, że w Twoim przypadku w scanf separatorami są kropki (".") a nie spacje co zostało...
mam problem z wczytywaniem.. jak to zrobić, żeby wczytało mi np "Kasia 1000" bo ja próbowałam tak jak niżej.. #include <stdlib.h> #include <stdio.h> struct ksiazka { char imie Dodano po 1 ten getchar miał być tak jak tutaj: void pobierz(struct ksiazka *wst) { printf("podaj imie i pozycje\n"); scanf("%s",wst->imie); getchar(); //żeby pożarło...
Zamieszczam prostą demonstracje działania programu na listach, ale wiadomo że nie ma tutaj co liczyć na dużą efektywność. Mamy drastycznie zmniejszone użycie pamięci kosztem zwiększenia czasu wyszukiwania danego indeksu, ale przynajmniej jest proste w implementacji ;) Może wieczorem zamieszcze na drzewach poszukiwań binarnych, bo gdzieś miałem implementacje...
najpierw trzeba pobrać łańcuch (text), czyli jakiś scanf("%s", str) potem sprawdzamy, czy pasuje do wzorca (w int n; float x; n=scanf("%f", &x); if(n<>1) printf("kaszanka\n"); Większość programistów, z tego co zauważyłem, nie sprawdza wartości zwracanej przez scanf, a to nie dobrze, bo scanf zwraca...
witam, prosilbym o mala pomoc :) program ma za zadanie : Polecenie nakazujące utworzenie (pustego) stosu i numerze i: new_s i Dodanie elementu e do stosu numer i: push i e Usunięcie elementu ze szczytu stosu numer i: pop i Przeniesienie elementu ze szczytu stosu numer i na stos numer j: stack->stack i j Likwidacja stosu numer i wraz ze wszystkimi...
Ok ogarnąłem temat ze switchem jednak i działa perfecto przemo_wielki miałeś racje wystarczyło pogłówkować jednak trochę i działa jednak jest pewien feller(t) a nawet 2 Po odpaleniu program chciałbym aby kursor ustawiał się za zdaniem Podaj jaka bryle chcesz obliczyc a pod spodem wyświetlone zostały dostępne opcje jakie użytkownik może wybrać no. 1....
witam musze napisac program do szkoly: Najczęściej występujący element Napisz program, który wyznacza najczęściej występujące elementy danego ciągu. Wejście Na wejście programu podana zostanie pewna liczba zestawów danych (co najwyżej 1000). Każdy z zestawów ma postać: n x1 x2 … xn gdzie n jest liczbą naturalną (z zakresu 1-1000), po której następuje...
Witaj, program jest źle zrobiony, przy podaniu obojętnie jakiej wartości zawsze rysuje ten sam romb. Proszę, tutaj są 2 programy rysujące trójkąty, jeden na if'ach a drugi na pętlach. Są na tyle proste że przerobienie ich by potem działały w drugą strone jest banalne :) [syntax=c]#include <stdio.h> #include <stdlib.h> int main(int argc,...
W tym projekcie math dałem nast. pliki: Source files-math.c Header files-config.h,uart.h External Dependecies-puste Other files-makefile Plik główny nazywa się tak jak projekt: math (.c) Dodano po 2 Już chyba wiem o co chodziło.Katalog w którym był projekt miał w nazwie kilka spacji a to jest zdaje się niedozwolone. W każdym razie teraz już nie ma tego...
#include<stdio.h> #include<windows.h> int main() { int segmenty; do { printf("Podaj ilosc segmentow: "); fflush(stdin); } while(!scanf("%d",&... system("cls"); for(int i=0;i<segmenty;i++) for(int j=0;j<i+2;j++)...
Tak jak już zostało napisane, problem masz z tym, że pobierasz liczbę, ale za nią jest jeszcze znak entera, który może zostać pobrany gdzieś dalej. Enter jest znakiem typu char, więc jak masz dalej próbę pobrania char'a to on pobiera także twój enter i idzie dalej. Ale takich motywów możesz mieć więcej np. #include<stdio.h> int main(void)...
Dzieki za odpowiedz Panowie :) to na prawde fajne jak ktoś pomaga! napisze jak do tej pory udało mi się zmienić ten program i chciałbym, żeby ktoś mi wytłumaczył dlaczego gdy wpisuję taki ciąg znaków np. "ala ma kota" gdzie są odstępy to w zmiennej lancuch jest zapisane tylko "ala"? #include<stdio.h> #include<string.h> int main()...
Możesz to zrobić na scanf w pętli, choć cin powinien się lepiej sprawdzić w działaniach na strumieniu... oczywiście też w pętli. Tak scanf jak i cin kończą czytanie po natrafieniu na spację lub enter. :arrow: ed-ek: zupełnie nie o to chodziło, program ma działać tak, jakby to czytał z klawiatury.
Witam musze napisac program do szkoly: Napisz program, który wyznacza róźnicę oraz sumę podanych liczb naturalnych. Wejście Na wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy zestaw będzie się składać z dwóch liczb naturalnych rozdzielonych spacją. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii. Przyjmujemy,...
witam Do szkoly musze napisac program, który wyznacza największy wspólny dzielnik podanych liczb. Wejście Na wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy z zestawów ma postać: n x1 x2 … xn gdzie n jest liczbą naturalną (z zakresu 1-1000), po której następuje n liczb całkowitych x1 x2 … xn (z zakresu...
Napisz program, który sumuje pojawiające się na wejściu liczby całkowite. Wejście Na wejście programu podana zostanie pewna ilość (co najwyżej 100) zestawów danych. Pojedyńczy zestaw składa się z ciągu liczb całkowitych dodatnich (co najwyżej 1000 elementów), rozdzielonych spacjami i kończących się zerem. Poszczególne zestawy zostaną rozdzielone znakiem...
Napisałem w C poniższy kod niby działa ale Spoj pisze że przekroczony limit czasu. Co jest źle albo może jak w inny sposób sprawdzić czy dwa wyrazy oddzielone spacją są anagramami #include <stdio.h> #include <ctype.h> int main() { char tab1[1000], tab2[1000]; char znak1, znak2; int i,j,k,d1,d3; for (k=0;;)...
coś mi nie wychodzi z tym try...catch :( to scanf('%d',&odp) będzie w c++ działało ??? na dziś dam sobie spokój z tym... jutro rano spróbuję... thx za wszystko i narka EDIT zamieniłem cin na coś takiego if (std::scanf("%i", &odp1) == 1) i już literek nie wczytuje :) EDIT2 mam jeszcze jedno pytanko, mianowicie nie działa mi getch()... zamiast tego używam...
Witam, "zły nauczyciel kazał mi" napisać prosty program szyfrujący. Wybrałem szyfr rot 13. Polega on na tym, że po wpisaniu tekstu szyfr "podstawia" litery z alfabetu łacińskiego na litery z tegoż alfabetu przesunięte o 13 miejsc w prawo. Np. dla litery 'a' podstawia 'n' itd. Mój program ma w sobie 2 tablice z alfabetem, z których jedna (podstaw) jest...
Po co takie kombinacje, wystarczy: scanf("%3s", ciag); Poza tym, dobrze jest rezerwować w C jeden znak więcej i kończyć NULL-em string, bo sporo funkcji operujących na ciągach znaków korzysta z tego znacznika. Jeszcze mały hint, jeśli chce się wczytać spację (standardowo nie wczytuje): scanf("%3[ a-z]", ciag);...
Wkradła ci się spacja przy pobieraniu a[i]. Powinno być: [syntax=c]for(i=0;i<N;i++) { scanf("%d", &a[i]); } [/syntax] Proponuję dopisać podgląd indeksu tablicy: [syntax=c]for(i=0;i<N;i++) { printf("Podaj element tablicy a[%d]\n",i); scanf("%d", &a[i]); }[/syntax] Ten program jeszcze nie działa tak jak to sobie założyłeś.
1. Ta Twoja tablica dwuwymiarowa jest rozmiaru char , to nie będzie działać ;) 2. Zmień sposób wczytywania tekstu na (do wyboru): while jest bez sensu i błędnie napisana, nie kontrolujesz zmiennych j i k , którymi operujesz na swojej tablicy dwuwymiarowej lanuch2 , łatwo o wyjście poza zakres rozmiaru Twojej tablicy. 4. Do Twojego zadania nie jest potrzebna...
ad3. to może tak...uwzględnia spacje int a,b,c; scanf("%d%d%d",&a,&b,&c... printf("%d %d %d",a,b,c);
Jak dam %c to w ogóle program sie sypie. Pojawia się pytanie czy zapisać dane do pliku, program nie czeka na wpisanie (t/n) tylko od razu wyświetla napis naciśnij jakiś klawisz by zakończyć działanie programu. Mnie nic nie przekona, programowanie w C to porażka. Pamiętam jak kilka lat temu programowałem w Turbo Pascalu, tam wszystko co zgadzało się...
Mam dwa dość spore problemy, z którymi nie mogę się uporać: 1. Usunąć dany element tablicy dynamicznej. Oto fragment kodu przedstawiający deklarację struktury oraz moje (prawdopodobnie do niczego się nienadające) wypociny: struct node{ struct info *pointer; struct node *prev; struct node *next; }; struct info{ char imie[15]; char...
Miałeś przeczytać manual do scanf(), link podawałem w poście powyżej... Eh lenistwo, lenistwo... ;) Scanf przestaje czytać wejście po napotkaniu pierwszego znaku, który "nie pasuje" do konwersji. W przypadku wywołania scanf("%79s", liczba); konwersja kończy się po napotkaniu pierwszego białego znaku - czyli najprawdopodobniej znaku...
Nie wiem co jest nie tak, ale cały czas albo drukuje krzaki albo błędnie sortuje. Może wstawię całą treść zadania i część kodu która działa poprawnie. Treść: Napisz program, który sprawdza, czy podane wyrazy są anagramami. Wejście Na wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy zestaw będzie się składać...
Cześć. Mam takie zadanie: napisz funkcję, do której wysyłasz wypełnioną tablicę znaków, czyli napis. Zadaniem funkcji jest zwrócenie pozycji wskazującej, gdzie w tym napisie rozpoczyna się najdłuższy wyraz. Zastanów się nad tym, jak przekazać informacje, gdy napis nie zawiera żadnego wyrazu. Wskazówka: załóż, że wyraz to nieprzerwany ciąg dowolnych...
Zacznę od tego, że wcale nie wyświetlasz elementów tablicy tylko je wpisujesz. Naciskasz enter więc to oczywiste, że przechodzi do nowego wiersza, możesz wstawiać spacje, bo scanf wczytuje do białego znaku. Podaj liczbe wieszy n. i liczbe kolumn m. n= 2 m= 4 1 2 3 4 5 6 7 8 Ale równie dobrze możesz wszystko wpisać w jednym wierszu: Podaj liczbe wieszy...
Mam napisać program który wpisuje do tablicy poszczególnie wprowadzone znaki łącznie z spacjami i tab. Czy da się zrobić coś takiego aby funkcja scanf przyjmowała tylko 1 znak i automatycznie bez zatwierdzania enterem program szedł dalej? Bo tylko udaje mi się tak napisać program że wpiszę znak i musze go potwierdzić enterem, no i jako znak liczy też...
Po zamianie na %c program się nie kończy wstawię całość aby nie było wątpliwości: [syntax=c] #include<stdio.h> #define MAX 1024 main() { int cyfry[1024]; char znaki[1024]; int i; int licznik1=0; int licznik2=0; printf("Wprowadz cyfry do tablicy\n"); for(i=0;i<MAX;++i,++licznik1) { if(cyfry=='\n'&&cyfry==' ') break; scanf("%c",cyfry);...
scanf i podajesz format - dla pierwszego pojedyncza liczba, dla pozostałych - 4 liczby oddzielone spacją.
Witam! 1) Nie są zadeklarowane zmienne: glowa, lista, wezel. 2) Dot. main() - funkcję sort wywołuje się z konkretnym parametrem a nie z definicją. Definicję masz juz w prototypie jak też w definicji funkcji. 3) Musisz napisać funkcję dopisywania elementu do listy. 4) Skoro w funkcji scanf w formatce symbole %d zostały oddzielone przecinkami, to przy...
Coś jeszcze jest nie tak, bo program w moim kompilatorze MS visual c++ 2010 express odpala się do momentu kiedy trzeba wprowadzić tekst. Później kiedy dochodzi tu [syntax=c]printf("%s", tekst);[/syntax] drukuje jedynie pierwszy wyraz (do spacji). Później wyskakuje błąd. [syntax=c]#include<stdio.h> #include<stdlib.h> #include<conio.h>...
Dostosowuję program przykładowy z książki "AVR Praktyczne projekty" dotyczący USART-DMA. Jest tam całkiem fajna funkcja która zamienia napis na numer indeksu tego napisu w tablicy. Nie mogę jednak zrozumieć w czym tkwi ograniczenie polegające na niemożności zwiększenia ilości wpisów w tabeli. Fragment oryginalnego kodu: [syntax=c]#define MAX_CMD_LEN...
a czy przypadkiem scanf nie pobierze mi znakow do momentu wcisniecia spacji? Nie: czym jest koszt kwadratowy? To znaczy że czas wykonania jest proporcjonalny kwadratu długości napisu. Również oznacza że dla napisu długości 512MB twój algorytm może działać nawet dobę.
scanf("%s") nie wie, że ma się zatrzymać na pierwszej spacji. Nie czyta też liniami, tylko ile się uda. Ja bym czytał linie fgetsem, i z każdej linii wyodrębniłbym pierwszą kolumnę z nazwą produktu (strchr?), a resztę dopiero dał do sscanfa.