Вывод на экран символов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Может кто объяснить, как вывести не цифрами вывод а символами?
#include <stdio.h>
#include <string.h>
const int ROZMIAR=4;
char* nieposortowane[]={"basia", "zosia", "ala", "genowefa"};
 
// funkcja porownujace dwa elementy typu integer
int porownaj(char a[], char b[])
{
 
    return a>b;
    }
int porownaj2(char a[], char b[])
{
 
    return a<b;
    }
 
// sortowanie babelkowe (ang. bubble sort)
void babelki(char* nieposortowane[], int N)
{
    int zamienione, i, tmp;
 
    do
    {
        zamienione=0; // jezeli nie bedzie zadnej zamiany, to tablica jest juz uporzadkowana
 
        for(i=0;i<N-1;i++)
            if(porownaj(nieposortowane[i], nieposortowane[i+1]))
            {
 
                // zamiana dwoch sasiednich elementow
                tmp=nieposortowane[i];
                nieposortowane[i]=nieposortowane[i+1];
                nieposortowane[i+1]=tmp;
 
                // tablica jeszcze nie jest uporzadkowana
                zamienione=1;
            }
    }
    while(zamienione);
}

// sortowanie przez wstawianie (ang. insertion sort)
void wstawianie(char* nieposortowane[], int N)
{
    int i, j, tmp;
    for(i=1; i<N; i++)
    {
        // elementy o indeksach 0 do i-1 sa juz uporzadkowane
 
        tmp=nieposortowane[i]; // wartosc i-tego elementu
 
        // przesuwanie elementow tablica[j]<=tmp
        j=i-1;
        while(j>=0 && porownaj(nieposortowane[j],tmp))
        {
            nieposortowane[j+1]=nieposortowane[j];
            j--;
        }
        // wstawienie elementu (potrzebne jest dodanie 1 bo j bylo dekrementowane w linii 48)
        nieposortowane[j+1]=tmp;
    }
}
void babelki2(char* nieposortowane[], int N)
{
    int zamienione, i, tmp;
 
    do
    {
        zamienione=0; // jezeli nie bedzie zadnej zamiany, to tablica jest juz uporzadkowana
 
        for(i=0;i<N-1;i++)
            if(porownaj2(nieposortowane[i], nieposortowane[i+1]))
            {
 
                // zamiana dwoch sasiednich elementow
                tmp=nieposortowane[i];
                nieposortowane[i]=nieposortowane[i+1];
                nieposortowane[i+1]=tmp;
 
                // tablica jeszcze nie jest uporzadkowana
                zamienione=1;
            }
    }
    while(zamienione);
}

// sortowanie przez wstawianie (ang. insertion sort)
void wstawianie2(char* nieposortowane[], int N)
{
    int i, j, tmp;
    for(i=1; i<N; i++)
    {
        // elementy o indeksach 0 do i-1 sa juz uporzadkowane
 
        tmp=nieposortowane[i]; // wartosc i-tego elementu
 
        // przesuwanie elementow tablica[j]<=tmp
        j=i-1;
        while(j>=0 && porownaj2(nieposortowane[j],tmp))
        {
            nieposortowane[j+1]=nieposortowane[j];
            j--;
        }
        // wstawienie elementu (potrzebne jest dodanie 1 bo j bylo dekrementowane w linii 48)
        nieposortowane[j+1]=tmp;
    }
}
 
// funkcja wypisujac N elementow z tablicy int
void wypisz(char* nieposortowane[], int N)
{
    int i;
    for(i=0;i<N;i++)
        printf("%d\n", *(nieposortowane+i));
}
 
// funkcja kopiujace N elementw typu int
void kopiuj(int* skad, int* dokad, int N)
{
    int i;
    for(i=0;i<N; i++)
        *(dokad++)=*(skad++);
}

int main()
{
    int nieposortowane[ROZMIAR];
    int porzadek;
    printf("Wprowadz liczbe >=0(Porzadek rosnacy), lub <0(porzadek malejacy)");
    scanf("%d", &porzadek);
    if(porzadek>=0){

    printf("Przed sortowaniem: \n");
    wypisz(nieposortowane, ROZMIAR);

    kopiuj(nieposortowane, nieposortowane, ROZMIAR);
    babelki(nieposortowane, ROZMIAR);
 
    printf("Po sortowaniu babelkowym: \n");
    wypisz(nieposortowane, ROZMIAR);
 
    kopiuj(nieposortowane, nieposortowane, ROZMIAR);
    wstawianie(nieposortowane, ROZMIAR);
 
    printf("Po sortowaniu przez wstawianie: \n");
    wypisz(nieposortowane, ROZMIAR);
    }
    else {
        printf("Przed sortowaniem: \n");
    wypisz(nieposortowane, ROZMIAR);

    kopiuj(nieposortowane, nieposortowane, ROZMIAR);
    babelki2(nieposortowane, ROZMIAR);
 
    printf("Po sortowaniu babelkowym: \n");
    wypisz(nieposortowane, ROZMIAR);
 
    kopiuj(nieposortowane, nieposortowane, ROZMIAR);
    wstawianie2(nieposortowane, ROZMIAR);
 
    printf("Po sortowaniu przez wstawianie: \n");
    wypisz(nieposortowane, ROZMIAR);
    }
    return 0;
}

Решение задачи: «Вывод на экран символов»

textual
Листинг программы
 printf("%d\n", *(nieposortowane+i))

Объяснение кода листинга программы

Код представлен одним предложением и выполняет следующие действия:

  1. Выполняет операцию разыменования (*) на указателе nieposortowane.
  2. Прибавляет значение i к результату предыдущей операции.
  3. Использует функцию printf для вывода полученного значения на экран.
  4. Выводит символ новой строки (\n) для перехода на новую строку. Список действий в виде нумерованного списка:
  5. Выполняется операция разыменования на указателе nieposortowane.
  6. Прибавляется значение i к результату предыдущей операции.
  7. Выводится полученное значение на экран с помощью функции printf.
  8. Выводится символ новой строки для перехода на новую строку.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы