program wypisujący tekst

program wypisujący tekst
N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 331
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 331
0

Jak napisać program wypisujący

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


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

TS
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 331
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 331
0

Co tutaj mam źle?

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
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: dni
  • Ostatnio: dni
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: dni
  • Ostatnio: dni
  • Postów: 331
0

Proszę o pomoc za tydzień mam kolokwium

TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 394
3

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

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
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
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

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

Yukiteru Gromadzki
  • Rejestracja: dni
  • Ostatnio: dni
  • 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
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
1

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

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

Kopiuj
\t
fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

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

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • Postów: 331
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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • 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");
N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
0

@Nikto0: Mechatronika na PWSZ

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 331
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.