Seřazení polí podle velikosti – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Seřazení polí podle velikosti – C / C++ – Fórum – Programujte.comSeřazení polí podle velikosti – C / C++ – Fórum – Programujte.com

 

9. 1. 2021   #1
-
0
-

Ahoj,
za úkol jsme dostali nasat program viz zadaní:
Napište program, zadejte z klávesnice do pěti polí pět různých řetězců a vypište na obrazovku délky jednotlivých řetězců od nejkratšího po nejdelší (využijte řídící struktury). Délky řetězců musí být možné zadat libovolně v délce 5 - 100 znaků.

Zkusil jsem: Zatím jsem pouze dokázal spočítat znaky v daných řetězcích, ale nevím jak je seřadit podle velikosti.

Chtěl bych 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main(int argc, char *argv[]) {
        char pole1[100];
        char pole2[100];
        char pole3[100];
        char pole4[100];
        char pole5[100];
        char pole6[500];


        int pocet1, pocet2, pocet3, pocet4, pocet5;

        printf("Zadej prvni retezec: ");
        gets(pole1);
        printf("Zadej druhy retezec: ");
        gets(pole2);
        printf("Zadej treti retezec: ");
        gets(pole3);
        printf("Zadej ctvrty retezec: ");
        gets(pole4);
        printf("Zadej paty retezec: ");
        gets(pole5);

        pocet1 = strlen(pole1);
    printf("Prvni retezec ma %d znaku\n",pocet1);
        pocet2 = strlen(pole2);
    printf("Druhy retezec ma %d znaku\n",pocet2);
    pocet3 = strlen(pole3);
    printf("Treti retezec ma %d znaku\n",pocet3);
    pocet4 = strlen(pole4);
    printf("Ctvrty retezec ma %d znaku\n",pocet4);
    pocet5 = strlen(pole5);
    printf("Paty retezec ma %d znaku\n",pocet5);



        return 0;

        }

 docílit: Pomocí řídící struktury seřadit řetezce podle velikosti

Děkuji všem za odpověďi

LukášS

 
Nahlásit jako SPAM
IP: 46.135.99.–
gna
~ Anonymní uživatel
1891 příspěvků
10. 1. 2021   #2
-
0
-

Jednodušší bude, když budeš mít ty délky v poli. A to pole pak seřadíš.

Primitivní algoritmus řazení je porovnávat sousedící prvky pole a v případě potřeby je prohodit. A to celé opakovat tak dlouho, dokud není pole seřazené (v posledním průchodu nebylo potřeba nic prohodit).

Nahlásit jako SPAM
IP: 213.211.51.–
10. 1. 2021   #3
-
0
-

#2 gna
právě já vůbec nevím ten algoritmus, abych to mohl prohazovat.

MOhl bys ho ukázat

Díky

 
Nahlásit jako SPAM
IP: 46.135.98.–
gna
~ Anonymní uživatel
1891 příspěvků
10. 1. 2021   #4
-
+1
-
Zajímavé

   

if (delky[i] > delky[i+1]) {
    int pom = delky[i];
    delky[i] = delky[i+1];
    delky[i+1] = pom;
}
Nahlásit jako SPAM
IP: 213.211.51.–
10. 1. 2021   #5
-
0
-

Díky, ale jak vložím délky do pole?

 
Nahlásit jako SPAM
IP: 46.135.98.–
gna
~ Anonymní uživatel
1891 příspěvků
10. 1. 2021   #6
-
0
-

   

pole[index] = hodnota;
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 113 hostů

Podobná vlákna

Seřazení podle data — založil W4RDON

Seřazení polí — založil soudruh

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý