Вывод на экран символов - 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))
Объяснение кода листинга программы
Код представлен одним предложением и выполняет следующие действия:
- Выполняет операцию разыменования (*) на указателе nieposortowane.
- Прибавляет значение i к результату предыдущей операции.
- Использует функцию printf для вывода полученного значения на экран.
- Выводит символ новой строки (\n) для перехода на новую строку. Список действий в виде нумерованного списка:
- Выполняется операция разыменования на указателе nieposortowane.
- Прибавляется значение i к результату предыдущей операции.
- Выводится полученное значение на экран с помощью функции printf.
- Выводится символ новой строки для перехода на новую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д