Diskuze: [C] Nevim jak napsat ukol (easy)
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 18 zpráv z 18.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Pokud tě někdo ve škole nenutí učit se C začni se učit jazyk, který je moderní , má vyšší uplatnění a mnohem lépe se učí -> například C# či Java
Tak C zase tak zbytecne neni. Ted jsem na ZS a jednou bych se chtel dostat na matematickou olympiadu P a potom ziskat 50%+ bodu v KSP. A v obou pripadech se pouziva C/C++
btw. pouzivam Arch linux a v linuxu je ponekud neprakticke programovat pro platformu .NET
Pro matematiku se hodí lépe Fortran než C, ale když organizátoři rozhodli, že bude C...
První úkol je snadný. Prostě vypíšeš hodnotu EOF pomocí printf.
Druhý už skoro máš. Ulož si předchozí znak a když to bude mezera, tak
aktuální znak prostě vynech.
Ulož si předchozí znak a když to bude mezera, tak aktuální znak prostě vynech.
a to by vypadalo jak?
Myslím, že bys to mohl dát dohromady sám Je to jedna proměnná a podmínka
navíc. Být tebou povíval bych se zpátky v knize a trochu si to znovu v klidu
pročetl.
#include <stdio.h>
int main(void){
int z, prev = 0;
while((z = getchar()) != EOF){
if (prev != ' ') putchar(z);
prev = z;
}
return 0;
}
Sice C nijak neznám, ale ono int může nabýtvat hodnoty ' ' ?
V tom není problém. Znaky jsou přece taky čísla (číselný kód z ASCII tabulky), ale stejně to mám špatně. Mělo by to být spíš něco takového
#include <stdio.h>
int main(void){
int z, prev = 0;
while((z = getchar()) != EOF){
if (z == ' ' && prev == ' ') continue;
putchar(z);
prev = z;
}
return 0;
}
honza.b4 Uložíš aktuální znak do nové proměnné, aby si ho mohl porovnávat v dalším chodu cyklu while. Raději si přečti víc o C třeba i tady na devbooku.
No jsem zvyklý ze C# že porovnávat vlastně int s char nelze. Ale je jasné, že každý znak dle ASCII je číslo. Troch mě to zmátlo
Céčko je takový podivný jazyk, skutečně je to v pořádku. Typ int se v něm používá i místo boolean.
V Céčku je int téměř vše...
EDIT: Kit to napsal za mě
Zobrazeno 18 zpráv z 18.