Ú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 a ChatGPT végső megoldása
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Escape from Tarkov
- Milyen belső merevlemezt vegyek?
- DUNE médialejátszók topicja
- bkercso: Amit nem kérdezel a ChatGPT-től - Valóság és torzítás
- Épített vízhűtés (nem kompakt) topic
- PlayStation 5
- Gyúrósok ide!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- BESZÁMÍTÁS! Sapphire B650M R7 8700F 32GB DDR5 1TB SSD RX 9070 XT 16GB CM MasterBox 5 fehér 750W
- Nuki Smart Lock Ultra okoszár
- Dell 14 Latitude 7450 WUXGA 2in1 Touch X360 Ultra5 135U 12mag 16GB 512GB Win11 Pro WiFi7 Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- 5G LTE! Microsoft Surface Pro 8 i7-1185G7 16GB 512GB 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



