Нужна помощь по работе с строчными массивами

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

В общем есть набор из 14 слов латиницей с заглавной буквы, нужно их поместить в строчный массив а затем отсортировать в алфавитном порядке по возрастанию. Может кто-нибудь помочь в этом? Никак не могу допереть как это сделать.

sadman41
Offline
Зарегистрирован: 19.10.2016

А причем тут Arduino, простите? Или сортировку надо на таймерах сделать?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

дак qsort() же есть, даже в Ардуине

https://www.microchip.com/webdoc/AVRLibcReferenceManual/group__avr__stdl...

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

очередной курсовик, пахоже

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

sadman41 пишет:

А причем тут Arduino, простите? Или сортировку надо на таймерах сделать?

Просто есть скетч в который нужно поместить данный массив и отсортировать, дальнейшие действия происходят в скетче с уже отсортированным массивом.

b707
Offline
Зарегистрирован: 26.05.2017

ubitiyrapom пишет:

В общем есть набор из 14 слов латиницей с заглавной буквы, нужно их поместить в строчный массив а затем отсортировать в алфавитном порядке по возрастанию. Может кто-нибудь помочь в этом? Никак не могу допереть как это сделать.

из описания следует, что слова заранее известны. Отсортируйте их вручную (латинский алфавит посмотреть в гугле :) и запишите в массивы уже в правильном порядке.

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

b707 пишет:

ubitiyrapom пишет:

В общем есть набор из 14 слов латиницей с заглавной буквы, нужно их поместить в строчный массив а затем отсортировать в алфавитном порядке по возрастанию. Может кто-нибудь помочь в этом? Никак не могу допереть как это сделать.

из описания следует, что слова заранее известны. Отсортируйте их вручную (латинский алфавит посмотреть в гугле :) и запишите в массивы уже в правильном порядке.

Очень смешно :-)

b707
Offline
Зарегистрирован: 26.05.2017

ubitiyrapom пишет:

Очень смешно :-)

я серьезно.

Вы же сами пишете : "есть скетч в который нужно поместить данный массив и отсортировать" - из чего совершенно очевидно следует, что массив константный. Вот я и предлагаю отсортировать его заранее. Чего смешного-то?

Если это не так - извольте выражать мысли яснее

PS - а-а-а... опять курсовик. Все никак не запомню, что если задание дебильное - значит студент, принимаю все за чистую монету :)

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

Уже пожалел что тему создал. 7 ответов из которых 1 хоть с чем-то дельным. Остальное трёп. Если курсовик- это приговор? Для чего нужен форум тогда, если не для помощи и обсуждений по существу?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

да. курсовик с форума это приговор для тебя как будущего специалиста.  Если бы ты пришел с кодом, спросил, что в нем не так, тебе бы мошт и помогли разобраться, а так...  Не вдупляешь и не хочешь учиться - звиздуй за автоматом к военкому. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ubitiyrapom пишет:

Уже пожалел что тему создал. 7 ответов из которых 1 хоть с чем-то дельным. Остальное трёп. Если курсовик- это приговор? Для чего нужен форум тогда, если не для помощи и обсуждений по существу?

Правильно пожалел. Курсовик - это приговор. Неспособность вызвать qsort() или написать сортировку пузырьком  -  ночью, с похмелья, когда только с бабы сняли - это полный приговор специалисту.

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

DetSimen пишет:

да. курсовик с форума это приговор для тебя как будущего специалиста.  Если бы ты пришел с кодом, спросил, что в нем не так, тебе бы мошт и помогли разобраться, а так...  Не вдупляешь и не хочешь учиться - звиздуй за автоматом к военкому. 

Очень легко говорить гадости человеку абсолютно ничего о нём не зная. Звиздуй сам. Тема закрыта. Разберусь как-нибудь.

b707
Offline
Зарегистрирован: 26.05.2017

ubitiyrapom пишет:

Очень легко говорить гадости человеку абсолютно ничего о нём не зная.

почему ж "ничего не зная"? - мы прочли ваши сообщения, сделали выводы.

А решение ваше правильное. разберитесь сами, напишите пример. будут вопросы - приходите, поможем.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:

А решение ваше правильное. разберитесь сами, напишите пример. будут вопросы - приходите, поможем.

+стопицот

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ubitiyrapom пишет:

1 хоть с чем-то дельным

Не "хоть с чем-то", а Вам просто сказали какая функция это делает, дали её название и ссылку на описание - т.е. Вашу проблему решили полностью.

Благодарности ответившему участнику от Вас мы не слышали, кстати.

ubitiyrapom пишет:

Для чего нужен форум тогда, если не для помощи

Вы правда считаете, что форум нужен для того, чтобы решать Ваши проблемы? Что мы тут годами сидели в ожидании, когда появитесь Вы, чтобы Вам по-быстрому сортировку написать? Нет, правда, Вы так считаете?

Я могу Вам сказать для чего нужен форум - для общения по интересам. И с Вами будут общаться при выполнении двух условий: 1) Вы разделяете интересы участников, 2) Вы сами интересны остальным участникам. Запомните - это касается всех форумов.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Да не вопрос показать, как именно вызывать qsort(). А то ведь весь гугль протрет до дыр.

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

const char * MyStr[14] = {
  "Nosferatu",
  "Tzimisce",
  "Unmasqued",
  "Setites",
  "Assamites",
  "Ravnos",
  "Giovanni",
  "Brujah",
  "Toreador",
  "Lasombra",
  "Tremere",
  "Ventrue",
  "Gangrel",
  "Malkavians"
};

int MyCmp(const void *p1, const void *p2)
{
    const char *s1 = *(const char **)p1;
    const char *s2 = *(const char **)p2;
    return strcmp(s1, s2);
}

void setup() {

int i;
int SZ = sizeof(MyStr)/sizeof(char*);

Serial.begin(57600);
while(!Serial);

Serial.println("=====UNSORTED Vampire clans==========="); 
for (i = 0; i < SZ; i++)
    Serial.println (MyStr[i]);

//========= Та-Да-Да-Дам!!!!!!
qsort(MyStr,SZ, sizeof(char*),MyCmp); 
//===========================

Serial.println("=====SORTED Vampire clans============="); 
  for (i = 0; i < SZ; i++)
    Serial.println (MyStr[i]);
}

void loop() {}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Влад, ... эээ ... не приболел? Точно здоров? :-)))))))))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

Влад, ... эээ ... не приболел? Точно здоров? :-)))))))))

Пытаюсь балансировать карму.... ;)

ubitiyrapom
Offline
Зарегистрирован: 08.11.2018

wdrakula пишет:

Да не вопрос показать, как именно вызывать qsort(). А то ведь весь гугль протрет до дыр.

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

const char * MyStr[14] = {
  "Nosferatu",
  "Tzimisce",
  "Unmasqued",
  "Setites",
  "Assamites",
  "Ravnos",
  "Giovanni",
  "Brujah",
  "Toreador",
  "Lasombra",
  "Tremere",
  "Ventrue",
  "Gangrel",
  "Malkavians"
};

int MyCmp(const void *p1, const void *p2)
{
    const char *s1 = *(const char **)p1;
    const char *s2 = *(const char **)p2;
    return strcmp(s1, s2);
}

void setup() {

int i;
int SZ = sizeof(MyStr)/sizeof(char*);

Serial.begin(57600);
while(!Serial);

Serial.println("=====UNSORTED Vampire clans==========="); 
for (i = 0; i < SZ; i++)
    Serial.println (MyStr[i]);

//========= Та-Да-Да-Дам!!!!!!
qsort(MyStr,SZ, sizeof(char*),MyCmp); 
//===========================

Serial.println("=====SORTED Vampire clans============="); 
  for (i = 0; i < SZ; i++)
    Serial.println (MyStr[i]);
}

void loop() {}

 


Спасибо большое за помощь с qsort(). Буду разбираться в работе скетча.