Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- droidic: Safe Mode az agyban
- sziku69: Szólánc.
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- Samus: Linkin Park - In The End (Demo)
- Luck Dragon: Asszociációs játék. :)
- laca223: A civilizáció mint bugos operációs rendszer
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- urandom0: Mégsem számőzöm az AI-t az életemből :(
Új hozzászólás Aktív témák
-
blaces
tag
Ez meg egy másik beadandó, én így tudtam értelmezni és megoldani... de ez olyan is...
A feladat ez:
[I]Írj programot, amely a standard inputról olvas karaktereket az EOF fájlvége jelig, és kiírja a képernyőre a bemenetnek megfelelő "mobiltelefonos kódolást", vagyis azt, hogy melyik gombot hányszor kell lenyomnunk, ha egy mobiltelefon segítségével szeretnénk előállítani az adott karaktersorozatot! A betűk elhelyezkedése a következő: (mint a mobil telefon)Az adott gomb száma annyiszor jelenjen meg a kimeneten, ahányszor azt le kell ütnünk! Például, ha az 5-ös gombot kell megnyomnunk háromszor, a program ezt 555-tel jelezze! Új billentyű lenyomásakor az előző és az új között ne legyen az outputon szóköz, csak abban az esetben, ha ismét ugyanaz a gomb következik, amelyet ezt megelőzően használtunk! A kis- és nagybetűk között nincs különbség.
Pl:
bemenet:Szauervein Szabolcs
kimenet: 777799992883377788833444661777799992 226665552227777 [/I]#include <stdio.h>
int main() {
char nev[10000];
int i=0;
int j=0;
gets(nev);
while(i<(strlen(nev))){
if (nev[i]=='a' || 'A') {
if (nev[i-1]=='a' || 'A' || nev[i-1]=='b' || 'B' || nev[i-1]=='c' || 'C') {
printf(" "); }
printf("2"); }
else if (nev[i]=='b' || 'B') {
if (nev[i-1]=='b' || 'B' || nev[i-1]=='a' || 'A' || nev[i-1]=='c' || 'C') {
printf(" "); }
printf("22"); }
else if (nev[i]=='c' || 'C') {
if (nev[i-1]=='c' || 'C' || nev[i-1]=='a' || 'A' || nev[i-1]=='b' || 'B') {
printf(" "); }
printf("222"); }
else if (nev[i]=='d' || 'D') {
if (nev[i-1]=='d' || 'D' || nev[i-1]=='e' || 'E' || nev[i-1]=='f' || 'F') {
printf(" "); }
printf("3"); }
else if (nev[i]=='e' || 'E') {
if (nev[i-1]=='e' || 'E' || nev[i-1]=='d' || 'D' || nev[i-1]=='f' || 'F') {
printf(" "); }
printf("33"); }
else if (nev[i]=='f' || 'F') {
if (nev[i-1]=='f' || 'F' || nev[i-1]=='d' || 'D' || nev[i-1]=='e' || 'E') {
printf(" "); }
printf("333"); }
else if (nev[i]=='g' || 'G') {
if (nev[i-1]=='g' || 'G' || nev[i-1]=='h' || 'H' || nev[i-1]=='i' || 'I') {
printf(" "); }
printf("4"); }
else if (nev[i]=='h' || 'H') {
if (nev[i-1]=='h' || 'H' || nev[i-1]=='g' || 'G' || nev[i-1]=='i' || 'I') {
printf(" "); }
printf("44"); }
else if (nev[i]=='i' || 'I') {
if (nev[i-1]=='i' || 'I' || nev[i-1]=='g' || 'G' || nev[i-1]=='h' || 'H') {
printf(" "); }
printf("444"); }
else if (nev[i]=='j' || 'J') {
if (nev[i-1]=='j' || 'J' || nev[i-1]=='k' || 'K' || nev[i-1]=='l' || 'L') {
printf(" "); }
printf("5"); }
else if (nev[i]=='k' || 'K') {
if (nev[i-1]=='k' || 'K' || nev[i-1]=='j' || 'J' || nev[i-1]=='l' || 'L') {
printf(" "); }
printf("55"); }
else if (nev[i]=='l' || 'L') {
if (nev[i-1]=='l' || 'L' || nev[i-1]=='j' || 'J' || nev[i-1]=='k' || 'K') {
printf(" "); }
printf("555"); }
else if (nev[i]=='m' || 'M') {
if (nev[i-1]=='m' || 'M' || nev[i-1]=='n' || 'N' || nev[i-1]=='o' || 'O') {
printf(" "); }
printf("6"); }
else if (nev[i]=='n' || 'N') {
if (nev[i-1]=='n' || 'N' || nev[i-1]=='m' || 'M' || nev[i-1]=='o' || 'O') {
printf(" "); }
printf("66"); }
else if (nev[i]=='o' || 'O') {
if (nev[i-1]=='o' || 'O' || nev[i-1]=='m' || 'M' || nev[i-1]=='n' || 'N') {
printf(" "); }
printf("666"); }
else if (nev[i]=='p' || 'P') {
if (nev[i-1]=='p' || 'P' || nev[i-1]=='q' || 'Q' || nev[i-1]=='r' || 'R' || nev[i-1]=='s' || 'S') {
printf(" "); }
printf("7"); }
else if (nev[i]=='q' || 'Q') {
if (nev[i-1]=='q' || 'Q' || nev[i-1]=='p' || 'P' || nev[i-1]=='r' || 'R' || nev[i-1]=='s' || 'S') {
printf(" "); }
printf("77"); }
else if (nev[i]=='r' || 'R') {
if (nev[i-1]=='r' || 'R' || nev[i-1]=='p' || 'P' || nev[i-1]=='q' || 'Q' || nev[i-1]=='s' || 'S') {
printf(" "); }
printf("777"); }
else if (nev[i]=='s' || 'S') {
if (nev[i-1]=='s' || 'S' || nev[i-1]=='r' || 'R' || nev[i-1]=='p' || 'P' || nev[i-1]=='q' || 'Q') {
printf(" "); }
printf("7777"); }
else if (nev[i]=='t' || 'T') {
if (nev[i-1]=='t' || 'T' || nev[i-1]=='u' || 'U' || nev[i-1]=='v' || 'V') {
printf(" "); }
printf("8"); }
else if (nev[i]=='u' || 'U') {
if (nev[i-1]=='u' || 'U' || nev[i-1]=='t' || 'T' || nev[i-1]=='v' || 'V') {
printf(" "); }
printf("88"); }
else if (nev[i]=='v' || 'V') {
if (nev[i-1]=='v' || 'V' || nev[i-1]=='t' || 'T' || nev[i-1]=='u' || 'U') {
printf(" "); }
printf("888"); }
else if (nev[i]=='w' || 'W') {
if (nev[i-1]=='w' || 'W' || nev[i-1]=='x' || 'X' || nev[i-1]=='y' || 'Y' || nev[i-1]=='z' || 'Z') {
printf(" "); }
printf("9"); }
else if (nev[i]=='x' || 'X') {
if (nev[i-1]=='x' || 'X' || nev[i-1]=='w' || 'W' || nev[i-1]=='y' || 'Y' || nev[i-1]=='z' || 'Z') {
printf(" "); }
printf("99"); }
else if (nev[i]=='y' || 'Y') {
if (nev[i-1]=='y' || 'Y' || nev[i-1]=='w' || 'W' || nev[i-1]=='x' || 'X' || nev[i-1]=='z' || 'Z') {
printf(" "); }
printf("999"); }
else if (nev[i]=='z' || 'Z') {
if (nev[i-1]=='z' || 'Z' || nev[i-1]=='w' || 'W' || nev[i-1]=='x' || 'X' || nev[i-1]=='y' || 'Y') {
printf(" "); }
printf("9999"); }
else if (nev[i]=='0') {
if (nev[i-1]=='0') {
printf(" "); }
printf("0"); }
else if (nev[i]==' ') {
printf("1"); }
i++;
}
}
printf("\n");
return(0);
}Az a baj, hogy most sulis gépen vagyok... itt csak devc++ van, és a printf előtt valami szintaktikai hibát jelezz. Előtte majdnem jó volt a program, csak akkor minden egyes megegyező karakter elé szóközt rakott ki... Nem tudom mi a gond.

Másik megoldásom az lett volna, hogy karaktertömböt hozok létre, és akkor azon megy egy keresés. De viszont ennél nem volt ötletem, a szóköz (space) próblémára, hogy azt hogyan valósítsam meg.
Ú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!
- Vezetékes FEJhallgatók
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Felvenné a Noctua kesztyűjét az ASUS
- Azonnali fáradt gőzös kérdések órája
- Battlefield 6
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- PlayStation 5
- Linux kezdőknek
- Samsung Galaxy A71 - elég ennyi?
- One mobilszolgáltatások
- További aktív témák...
- AMD Radeon RX 7600 8GB OC HIBÁTLAN!!
- Hibátlan 2+ Év Garancia! GIGABYTE GeForce RTX 4060 EAGLE OC 8GB
- AZONNAL KÉSZLETRŐL! AMD Ryzen 7 9800X3D 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5090 32GB GDDR7 1200W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- Konzol felvásárlás!! Playstation 5, Playstation 5 Pro
- LG OLED & OLED evo Televíziók -30%
- Dell Latitude 7420 Core i7-1185 G7, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- AKCIÓ! Lenovo Legion Go S 32GB/1TB kézikonzol garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3962, 100% Akkumulátor
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


