- Itt Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Videón mutatják meg a Nothing tervezői a Phone (4a) külső újdonságait
- MWC 2026: telefonból kivehető akciókamerát hoz az Ulefone RugOne
- Megkaptuk az első hivatalos fotókat a Honor Magic V6-ról
- Tényleg kicsit más lesz a Xiaomi 17 Ultra európai különkiadása
- Itt Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Így fotóz és ennyire melegszik a Galaxy S26 Ultra
- Motorola Signature - mielőtt aláírnád...
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S21 FE 5G - utóirat
- Honor Magic8 Lite - a félig sikerült bűvésztrükk
- iPhone topik
- One mobilszolgáltatások
- Magisk
Új hozzászólás Aktív témák
-
Bero
aktív tag
Üdv,
Egy olyan problémával fordulnék hozzátok. Egyszerűen nem tudom mit rontok, rengetegszer, rengeteg verzióban próbáltam már, de nem megy.Egy stringet olvasok be, három szóból áll, közöttük szóköz. Ezt kellene szétbontanom 3 különböző stringre, azaz egy stringben egy szó.
Inputellenőrzés után így próbáltam:
while(!isspace(str[i])){
szoegy[i]=str[i];
i++;
}
while(isspace(str[i])){
i++;
}
while(!isspace(str[i])){
szoketto[i]=str[i];
i++;
}
while(isspace(str[i])){
i++;
}
while(i==strlen(str)){
szoharom[i]=str[i];
i++;
}Az első szóig okés, de a következő kettő már nem. Próbáltam for-al is, de ugyan ez az eredmény. Mit csinálok rosszul?
Köszönöm előre is! -
Bero
aktív tag
No megírtam így, eredetileg is így kérték, egy kérdésem van még
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
void main(){
char str[100];
int dobas;
int i;
int egy=0, ket=0, ha=0, negy=0, ot=0, hat=0;
clrscr();
printf("\nHany kocadobast vegez? ");
scanf("%d", &dobas);
printf("Irja be a kockadobasok eredmenyeit! ");
scanf("%s", str);
for(i=0;i<dobas;i++)
{
if (str[i] =='1')egy++;
else if (str[i] == '2')ket++;
else if (str[i] == '3')ha++;
else if (str[i] == '4')negy++;
else if (str[i] == '5')ot++;
else if (str[i] == '6')hat++;
}
printf("1: %d db\n", egy);
printf("2: %d db\n", ket);
printf("3: %d db\n", ha);
printf("4: %d db\n", negy);
printf("5: %d db\n", ot);
printf("6: %d db\n", hat);
getch();
}Hogy tudom a bekért számsor formai helyességét ellenőrizni egyszerűen? Ebben az esetben azt hogy szám-e, illetve hogy 1 és 6 között van.
Előre is nagyon köszönöm a segítséget! -
Bero
aktív tag
Köszönöm, így már működik.
Még egy kérdés, hogy tudom elintézni azt, hogy az elején a program rákérdezzen hány dobást fogunk végezni, és addig kérje be?
Ha egy int-be scanf-el bekérek egy számot, akkor a getline nem is fut le.Nagyon szégyelem magam, túlságosan is kezdő vagyok hozzá, de remélem azért érthetően fogalmaztam a kérdést.
Iskolai sablon a getline, tanárok szerint minden programhoz használnunk kell, de az igazság az hogy jobbat én nem is tudok varázsolni.
-
Bero
aktív tag
Üdvözletem!
Segítséget szeretnék kérni, hogy miért nem működik ez ebben a formában:#include <stdio.h>
#include <conio.h>
#define MAX 100
int getline(char s[],int lim)
{
int i;
char c;
for(i=0;i<lim && (c=getchar())!=EOF && c!='\n';i++)
{ s[i]=c; }
s[i]='\0';
while(c!=EOF && c!='\n')
c=getchar();
return i;
}
void main(void)
{
char str[MAX];
int i;
int egyeb=0, egy=0, ket=0, ha=0, negy=0, ot=0, hat=0;
clrscr();
printf("K‚rek egy sort:");
getline(str,MAX);
for(i=0; i<MAX; i++)
{
if (str[i] == '1')egy++;
else if(str[i] == '2')ket++;
else if(str[i] == '3')ha++;
else if(str[i] == '4')negy++;
else if(str[i] == '5')ot++;
else if(str[i] == '6')hat++;
else egyeb++;
}
printf("%s", str);
printf("\n1 = %d", egy);
printf("\n2 = %d", ket);
printf("\n3 = %d", ha);
printf("\n4 = %d", negy);
printf("\n5 = %d", ot);
printf("\n6 = %d", hat);
getch();
}kockadobásokat kér be, max 100-at, és utána egyszerűen megszámolja.
Előre is köszönöm!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Itt Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- NOTEBOOK / NETBOOK / Mac beárazás
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Autós topik
- Soundbar, soundplate, hangprojektor
- Hyundai, Kia topik
- Asztalos klub
- EAFC 26
- Apple MacBook
- További aktív témák...
- ÚJ Asus TUF F16 FX607 - 16" WUXGA 144Hz - Intel i5 210H - 16GB - 1TB - Win11 - RTX 4050 - 3 év gari
- Philips Evnia 27M2N85 2K 360Hz
- Asztali PC , R7 5700 , RTX 3080 , 32GB RAM , 1TB m.2
- Asztali PC ,R7 5700 , RX 6600 XT , 16GB DDR4 , 512GB m.2 , 1TB HDD
- Precision 5570 15.6" 4K+ IPS érintő i7-12700H RTX A1000 32GB 512GB NVMe ujjolv IR kam gar
- Geforce GTX 1050, 1050 Ti, 1060, 1650, 1660 - GT 1030 - Low profile is (LP)
- G.Skill Aegis 32GB (2 16GB) DDR4 3200MHz ÚJ, AZONNAL KÉSZLETRŐL
- Macbook Pro M3 Max 14" - 36 GB/1TB/ 27% ÁFÁS! - 0360AB
- Beszámítás! VALVE INDEX virtuális valóság szemüveg garanciával hibátlan működéssel
- HIBÁTLAN iPhone 12 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4670,100% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



