Mam za zadanie znaleźć liczby trzycyfrowe, które zawierają cyfrę 3. Wiem, że trzeba byłoby zrobić pętle i każdą liczbę zamienić na string'a i wyłapać czy jest 3 ale chyba już jako char? Nie wiem dokładnie jak miałoby to wyglądać.
- Rejestracja:ponad 10 lat
- Ostatnio:około rok
0
Lepiej byłoby chyba skorzystać z dzielenia całkowitoliczbowego i modulo.
Zobacz pozostałe 14 komentarzy

@_13th_Dragon: Trudno, żeby inne rozwiązanie było preferowane, skoro są to zajęcia, na których jeszcze nie było pętli, a tylko ify :-) Bo moje zadanie to sprawdzić, czy zawiera 3, a nie odnaleźć takie, które zawierają 3. Mam wrażenie, że autor zmienił treść pytania gdzieś po drodze, bo teraz zadanie jest niepodobne do mojego.
Nie zmieniałem treści, moderator tylko zmienił tytuł. I ma być napisane w c# i wszystkie pętle już miałem. Proszę tylko o naprowadzenie czy pokazanie algorytmu. Trzy włożone pętle nie zadziałają.

Początek tematu: - "Mam za zadanie znaleźć liczby trzycyfrowe, które zawierają cyfrę 3" - To też moderator zmienił? Pętle jak najbardziej zadziałają i dla podanego zadania będzie to optymalne rozwiązanie.
I taka treść jest była od początku. Nie wiem co miało być zmienione

Mój błąd najwyraźniej. 12h pracy nie robi dobrze na oczy ;)

- Rejestracja:ponad 21 lat
- Ostatnio:2 minuty
5
if (i==3 || i==13 || i==23 || (i>=30 && i<=39) || i==43 || i==53 || i==63 || i==73 || i==83 || i==93 ||
i==103 || i==113 || i==123 || (i>=130 && i<=139) || i==143 || i==153 || i==163 || i==173 || i==183 || i==193 ||
i==203 || i==213 || i==223 || (i>=230 && i<=239) || i==243 || i==253 || i==263 || i==273 || i==283 || i==293 ||
(i>=300 && i<=399) ||
i==403 || i==413 || i==423 || (i>=430 && i<=439) || i==443 || i==453 || i==463 || i==473 || i==483 || i==493 ||
i==503 || i==513 || i==523 || (i>=530 && i<=539) || i==543 || i==553 || i==563 || i==573 || i==583 || i==593 ||
i==603 || i==613 || i==623 || (i>=630 && i<=639) || i==643 || i==653 || i==663 || i==673 || i==683 || i==693 ||
i==703 || i==713 || i==723 || (i>=730 && i<=739) || i==743 || i==753 || i==763 || i==773 || i==783 || i==793 ||
i==803 || i==813 || i==823 || (i>=830 && i<=839) || i==843 || i==853 || i==863 || i==873 || i==883 || i==893 ||
i==903 || i==913 || i==923 || (i>=930 && i<=939) || i==943 || i==953 || i==963 || i==973 || i==983 || i==993)
Console.WriteLine("zawiera 3");
else
Console.WriteLine("nie zawiera 3");

Jeden forumowicz po imieniu @Azarien kiedyś kogoś spytał: - "A gdyby było 30 cyfr to też tak rozwiążesz?" - nie gwarantuje dokładność cytatu. ;P

@_13th_Dragon - przy większej puli zaprzęgnie się generator ;)
- Rejestracja:ponad 10 lat
- Ostatnio:prawie 7 lat
- Postów:24
0
Dla liczb od 10 do 100, myśle, że ogarniesz i zrobisz dla wszystkich możliwych. ;)
EDIT:
#include <iostream>
using namespace std;
int main ()
{
int a,b,c;
for (a=0; a<100; a++)
{
int i=0;
b=a/10;
if (b==3)
{
cout<<a<<",";
}
c=a-(b*10);
if (c==3)
{
cout<<a<<",";
}
}
return 0;
}
edytowany 1x, ostatnio: Perkusista
Zadanie nie polega na sprawdzeniu czy liczba zawiera 3, tylko na znalezieniu takich liczb i wypisaniu ich

Przy okazji dorobienia pozostałych 95% przypadków będzie musiał również tłumaczyć z C++ na C#.
dorobić dwa fory i gotowe + jeden for na wyświetlanie
jakie dwa fory ? jeden od 100 do 999 i co mialby robic? a drugi for jaki ?
teraz powinno byc git, spróbuje zrobić dla dowolnego
int...

- Rejestracja:prawie 12 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Warszawa
- Postów:1589
1
Yep co? Jak zrobić trzy pętle składając tą liczbę jako a100+b10+c? Gdzie upchnąć ten warunek ?
Prawdopodobnie @_13th_Dragon chodzi o coś takiego:
for(iterujesz a od 1 do 9) for(iterujesz b od 0 do 9) for(iterujesz c od 0 do 9) if(jeśli a lub b lub c jest równe 3) wypisujesz liczbę a*100+b*10+c lub jako string ""+a+b+c
edytowany 2x, ostatnio: dam1an

można też
wypisujesz abc
(trzy liczby a właściwie cyfry bez przerwy).

Poprawione :)

lub jako string: ""+a+b+c ;P

Racja, nie pomyślałem że tak zadziała.
karolinaa