Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok NapísalOffline : 08.10.2014 17:24

S pointermi velmi neviem pracovat,
Chcem aby nacitalo Male , velke pismena a potom zistilo kolko je malych kolko je velkych.
Poprosil by som o pomoc.
Kód:
#include <stdio.h>
#include <string.h>


int main ()
{
   int dlzka_male,dlzka_velke;
   char c[10];
   scanf("%s",c);
   if ( c >='A' || c <= 'Z' || c >= 'a' || c <= 'z')
   {
      if(c >= 'a' || c <= 'z')
      {
         dlzka_male = strlen(c);
         
      }
      
      else
         {
         dlzka_velke = strlen(c);
         
         }
      }

      printf("%d %d\n",dlzka_male,dlzka_velke);
   
   return 0;
}

Kód:
strlen.c: In function ‘main’:
strlen.c:10:9: warning: comparison between pointer and integer [enabled by default]
  if ( c >='A' || c <= 'Z' || c >= 'a' || c <= 'z')
         ^


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 09.10.2014 10:53

Pointery tam ani nie sú. Ide o pole znakov (string), takže si pozri prácu s nimi. Na Pointery kašli, ta chyba síce hovorí správne, ale ty tam zle používáš pole.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
[C] strlen porovnanie pointeru a integeru

Registrovaný: 24.08.12
Prihlásený: 09.02.19
Príspevky: 59
Témy: 0
Príspevok NapísalOffline : 09.10.2014 18:46

Pointer tam vlastně jeden je, a to ten název pole znaků c. Když si ho necháš vypsat jako int, dozvíš se v jakém místě paměti je tvůj řetězec uložený ;-)

Ale pokud chceš spočítat kolik malých a velkých písmen v tom načteném textu máš, musíš ho prostě cyklem projít písmenko po písmenku a každé z nich otestovat zvlášť:
Kód:
#include <stdio.h>

#define jemale(c) c>='a' && c<='z'
#define jevelke(c) c>='A' && c<='Z'

int main(void)
    {
    int i,male,velke;
    char text[1000];

    printf("Zadej text: ");
    scanf("%s",text);

    for (i=male=velke=0;text[i];++i)
        {
        if (jemale(text[i]))
           ++male;
        else
           if (jevelke(text[i]))
              ++velke;
        }

    printf("Malých:  %d\nVelkých: %d\n",male,velke);

    return 0;
    }

Funguje to pouze pro znaky bez diakritiky, s nimi by to bylo o dost složitější.

A to pole je lepší udělat s dostatečnou rezervou, protože Céčko nikdy nekontroluje meze, a do toho tvého desetibytového by se vešlo jenom devět písmen, což není problém překročit a nechtěně přepsat v paměti něco hodně důležitého!

Jestli ti to ještě není jasné, vlož si před return tohle a uvidíš co se stane:
Kód:
    i=0;
    while (putchar(text[i++]))
          putchar('\n');







_________________
"Existuje pouze jeden člověk, který má méně přátel než Bill Gates, a tím je Saddám Husajn." (Paul Grayson)
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 09.10.2014 20:12

Ale k pochopeniu polí, nech sú to aj stringy, absolútne nepotrebuješ pointery. Takže tu by som ich pre jednoduchosť vôbec netrepal a zameral sa na pole.
Píšem to len preto, že hneď v úvode je veta
dany2281995 píše:
S pointermi velmi neviem pracovat,

To ani nemusíš, ak ide o takéto (statické) polia. Pochop najprv pole ako také, na pointery je času dosť.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
[C] strlen porovnanie pointeru a integeru

Registrovaný: 15.01.07
Prihlásený: 23.09.15
Príspevky: 186
Témy: 3
Bydlisko: ZV/BA
Príspevok NapísalOffline : 09.10.2014 22:10

a ked uz pointery, tak potom dynamicke polia a to co pisal faraon sa da poriesit tym, ze si ho budes resizovat cez realloc ...
ale najprv pochop polia, potom len samotne pointery (co je zaklad Ccka poriadneho) a potom dynamicke polia a struktury







_________________
nb: Lenovo Thinkpad E520 (starsi pan uz), Fedora 20 / Win7 dualboot
" 1000.times { puts "I will not spam on the boards" } "
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.06.13
Prihlásený: 07.06.16
Príspevky: 63
Témy: 18
Príspevok Napísal autor témyOffline : 12.10.2014 0:13

Vyriesil som to cez getchar();
Mozete zmazat alebo uzamknut


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. [C] Citanie integeru v cykle

v Assembler, C, C++, Pascal, Java

14

501

15.11.2014 18:28

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ porovnanie knih

v Assembler, C, C++, Pascal, Java

3

420

06.08.2012 12:54

fista1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie poli v C++

v Assembler, C, C++, Pascal, Java

4

459

04.09.2020 9:04

Jur_3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Porovnanie stlpcov matice v C++

v Assembler, C, C++, Pascal, Java

3

415

21.03.2015 12:18

focko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [C]funkcie, nacitanie a porovnanie zo suboru

v Assembler, C, C++, Pascal, Java

6

1299

31.03.2015 17:47

dany2281995 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. if (strlen

v PHP, ASP

2

772

03.09.2009 16:18

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pretypovanie pointeru na void

v Assembler, C, C++, Pascal, Java

1

630

03.10.2009 18:07

plna.hlava Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mám sa učiť C ++/objective C/ C#?

v Assembler, C, C++, Pascal, Java

5

730

08.07.2014 20:40

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozdiel medzi Borland 3.1 C++ vs Net. C++

v Assembler, C, C++, Pascal, Java

4

575

20.07.2010 12:54

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

410

13.05.2014 18:16

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1123

10.05.2016 14:59

evolvsys Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naučte se C++ za 21 dní + C++Builder 6

v Assembler, C, C++, Pascal, Java

18

2413

21.05.2010 21:08

Wpegb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1250

07.03.2007 19:22

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Čo mi treba na programovanie v C/C++

v Assembler, C, C++, Pascal, Java

17

1146

25.09.2011 18:14

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky je rozdiel medzi C++ a Visual C++ ?

v Assembler, C, C++, Pascal, Java

8

1964

19.02.2011 22:46

vendo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

552

24.10.2016 15:28

michalesku Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra