program wypisujący tekst

program wypisujący tekst
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Witam. Uczę się dopiero programować w języku C i mam takie zadanie https://zapodaj.net/d301bc6520604.jpg.html

TS
Wykaż więcej szacunku do ewentualnych pomagających i przepisz treść zadania, a nie wrzucaj kiepskiej jakości screena. Poza doprecyzuj z czym nie dajesz sobie rady.
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Nie wiem jak zrobić taki układ gwiazdek i żeby w tych rzędach było ich tyle samo

edytowany 1x, ostatnio: Nikto0
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
3
Kopiuj
char foo[] = {
    69,107,114,97,110,58,10,42,42,42,42,42,42,42,42,42,42,42,42,42,10,84,101,
    107,115,116,32,112,105,101,114,119,115,122,121,10,42,42,42,42,42,42,42,42,
    42,42,42,42,42,10,42,32,42,10,32,42,32,42,10,32,32,42,32,42,10,32,32,32,42,
    32,42,10
};

int main()
{
    for(int i = 0; i < sizeof foo; i++)
        printf("%c", foo[i]);
}

N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

A da się jakoś prościej, bo dotąd takiego czegoś jeszcze na studiach nie mielismy

MarekR22
FYI: to był dowcip, kara za lenistwo, bo najwyraźniej dopominasz się o gotowca.
Delor
Z ciekawości, co to za studia?
N0
mechatronika na PWSZ
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
1

Zadałeś pytanie w taki sposób, że nikomu się nie chce poważnie odpowiadać. Przeredaguj je, wykaż minimum chęci, a wtedy chętnie pomożemy.


N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Jak napisać program wypisujący

Kopiuj
Ekran:
**************
Tekst pierwszy
**************
* *
 * *
  * *
   * *


Inaczej niż w kodzie mi się źle wyświetla

edytowany 2x, ostatnio: Nikto0
TS
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:394
2

Tak lepiej :)

Generalnie to po prostu poszukaj przykładowego kodu dla Hello World w necie. Taki program wypisze napis "Hello world". Po prostu go przerób, żeby wypisał to, co Ty chcesz :)

I pamiętaj, że znak nowej linii to \n

N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Czyli muszę jakoś tak napisać żeby wyświetlało po równo gwiazdek i nie da się inaczej?

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
0

Z opisu zadania naprawdę nie wiadomo o co chodzi. Literalne wypisanie podanego tekstu zdaje się spełniać jego warunki, a wtedy żadnej logiki nie ma.


TS
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:394
0

Jak chcesz, żeby było fajnie to możesz te gwiazdki taki wypisać:

Kopiuj
const int STAR_COUNT = 4;
for (int i = 0; i < STAR_COUNT; i++) {
  for (int j = 0; j < i; j++) {
    printf(" ");
  }
  printf("* *\n");
}

Sorki, jak zrobiłem jakiegoś babola, napisane na szybko.

N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Co tutaj mam źle?

Kopiuj
#include<stdio.h>
main()
{printf("Ekran:\n***************\n
 tekst pierwszy\n***************\n
                  * *\n
				   * *\n
				     * *\n ")
	
}

TS
Jeszcze jedno, jak masz jakiś błąd to wklejaj jego treść. Kompilator zwykle dużo mówi.
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

C:\Users\x\Desktop\programowanie c\zadanie 1.c In function 'main':
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Warning] missing terminating " character
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] missing terminating " character
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] 'tekst' undeclared (first use in this function)
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Note] each undeclared identifier is reported only once for each function it appears in
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] expected ')' before 'pierwszy'
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] stray '' in program
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] stray '' in program
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] stray '' in program
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] stray '' in program
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] stray '' in program
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Warning] missing terminating " character
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] missing terminating " character
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] expected ';' before '}' token
C:\Users\x\Desktop\programowanie c\Makefile.win recipe for target '"zadanie 1.o"' failed

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 godziny
2

No bo tak nie można dzielić literału na linie.
Można tak:

Kopiuj
printf("Ekran:\n***************\n"
 "tekst pierwszy\n***************\n"
// etc
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Proszę o pomoc za tydzień mam kolokwium

TS
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:394
3

No i wszystkie wywołania powinieneś kończyć średnikiem.

Nie bój żaby, tydzień czasu to sporo.

N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Teraz mam coś takiego i układ gwiazdek się nie zgadza ale program się uruchamia

Kopiuj
#include<stdio.h>
main()
{printf("Ekran:\n***************\n"
 "tekst pierwszy\n***************\n"
                  "* *\n"
				   "* *\n"
				     "* *\n ");
	
}

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
1

Wypisujesz tylko to co jest wewnątrz "", a tam nie masz odstępów.


N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

To co mam zrobić żeby układ gwiazdek był dobry?

Yukiteru Gromadzki
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad rok
  • Postów:192
0

W ten sposób?

Kopiuj
#include<stdio.h>
int main() {
printf("Ekran:\n***************\nTekst pierwszy<znak_nowej_lini>***************\n* *\n * *\n  * *\n   * *");
}
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
1

@Nikto0: pogłówkuj trochę, poeksperymentuj.


N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Próbowałam przy pomocy, ale mi nie wyszło ktoś pomoże?

Kopiuj
\t
fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

'\n' jest nowa linia ' ' jest spacja. Teraz polacz wszystko co tu przeczytales w jedno
" * \n";

edytowany 7x, ostatnio: fasadin
kq
To co napisałeś to znak ;​P
fasadin
ups :D
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Może ktoś napisać tutaj kod źródłowy, bo mi nie wychodzi.

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
1

Dostałeś już kodów, dostałeś też komentarze do istniejącego.

Kopiuj
printf(" a b\n");
printf(                                        " a b\n");
printf(



                 " a b\n");

Odpal sobie ten kod i zastanów się dlaczego wypisuje co wypisuje.


N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Rozumiem dlaczego tak się dzieje w kodzie który napisałeś, ale jak próbuję zrobić spację to mam błędy

Kopiuj
#include<stdio.h>
main()
{printf("Ekran:\n***************\n"
 "tekst pierwszy\n***************\n"
                  '* *\n';
				   '* *\n';
				     '* *\n ');
	
}

C:\Users\x\Desktop\programowanie c\zadanie 1.c [Warning] multi-character character constant [-Wmultichar]
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Error] expected ')' before '\x2a202a0a'
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Warning] multi-character character constant [-Wmultichar]
C:\Users\x\Desktop\programowanie c\zadanie 1.c [Warning] character constant too long for its type
C:\Users\x\Desktop\programowanie c\Makefile.win recipe for target '"zadanie 1.o"' failed

Delor
Bo wyżej jest błąd. Użyj " zamiast '. I nie oddzielaj średnikiem ciągów.
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 22 godziny
  • Lokalizacja:Szczecin
2

'X' oznacza znak, nie ciąg znaków, @fasadin dał błędną radę - tutaj użyj ""

Żeby nie robić zadania za ciebie, ale dać jakąś sensowną podpowiedź:

Kopiuj
printf("Line 1:\n"
    "Line 2:\n"
    "  Indented line\n");

Ewentualnie każdą linię wypisz osobnym wywołaniem printf, nikt się o to specjalnie nie obrazi:

Kopiuj
printf("Line 1:\n");
printf("Line 2:\n");
printf("  Indented line\n");

fasadin
tak to jest jak sie siedzi na frontendzie i wszystko pisze sie '' :D
N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

@Nikto0: Mechatronika na PWSZ

N0
  • Rejestracja:ponad 5 lat
  • Ostatnio:3 miesiące
  • Postów:319
0

Dziękuję. już działa :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.