помогите пожалуйста. язык Си
задание:
1) Создать Массив с именами городов. (Города даны изначально)
2) Создать Массив с кол-вом людей в них проживающих. (инфу взял из Wiki)
3) Написать функцию, которая принимает два массива на вход, и выводит данные в виде таблицы.
4) Написать функцию, которая принимает два массива на вход, и выводит отсортированную таблицу городов в порядке убывания населения.
Я вот отсортировал массив (количество населения) но когда я сортирую массив городов то оно двигает только первую букву названия города (пример: вместо Moscow выводит, Toscow вместо New-York выводит Мew-York)
как сделать так чтобы оно передвигало все слово а не только первую букву?
может я не правильно начал решать задание?? я уже не знаю что с ним делать...
вот код:
#include <stdio.h>
#include <stdlib.h>
int func (int len, int peoples[], int count, char citys[][len] )
{
char tmp1[count][len];
for(int i = 0 ; i < count - 1; i++)
{
for(int j = 0 ; j < count - i - 1 ; j++)
{
if(peoples[j] < peoples[j+1])
{
int tmp = peoples[j];
peoples[j] = peoples[j+1] ;
peoples[j+1] = tmp;
for (int r = 0; r < count ;r++)
{
tmp1[count][r] = *citys[j];
*citys[j] = *citys[j+1] ;
*citys[j+1] = tmp1[count][r];
}
}
}
}
return 0;
}
int main ()
{
char cities[][10]={ {"Moscow"},{"New-York"},{"London"},{"Minsk"} ,{"Kiev"},{"Warsaw"},{"Berlin"},{"Tokio"},{"Hong-Kong"} };
int people[] = {12330126, 8400000, 8500000, 1836808, 2893000, 1700536, 3950887, 13370198, 7071576};
int length = sizeof cities / sizeof cities[0];
func(sizeof(cities[0]), people, length, cities);
for (int k = 0; k < length;k++)
{
printf("In town - %-10s %s %-9d peoples\n",cities[k],"lives", people[k]);
}
return 0;
}