Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
Russian строки сравниваються функцией int strcmp(str1, str2) (или "аналогами" многочисленными). Результат 0 если строки равны, положительное либо отрицательное число, если строки не равны. Проверяя знак этого числа, можно регулировать сортировку по убыванию либо по возрастанию.
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
Russian всёже просто. Предполагаем что вы способны выполнить сортировку например массива с числами. В коде обязательно будет участок где числа сравниваются и в зависимости от результата производится перестановка. Тоесть что-то около того if (mas[i] > mas[i+1] ) <перестановка> . Если массив не чисел а строк(к примеру массив указателей), то почти тоже самое: if( strcmp(mas_str[i], mas_str[i+1]) > 0 ) <перестановка>. Также предполагается, что вы знаете что такое "массив строк" .
Advanced member
Статус: Не в сети Регистрация: 09.03.2004 Откуда: Кишинёв
ядерный отход Функция strcmp не просто говорит равны строки или нет, а говорит какая из строк "больше"/"меньше" второй. Это и позволяет её использовать в данном случае. Насчёт STL то да, конечно так проще, но тут скорее всего цель задания другая.
Member
Статус: Не в сети Регистрация: 08.05.2006 Откуда: СПБ
можно ли как-нибудь в С глобально присвоить массиву значению
пишу
float v[MAX];
v[0]=0;
v[1]=70;
v[2]=10;
v[3]=5;
выдает ошибку хотя если так объявлять локально то все норм
_________________ Мы все знаем, что Linux — это круто… он выполняет бесконечные циклы за 5 секунд.
* Линус Торвальдс
Member
Статус: Не в сети Регистрация: 20.11.2005 Откуда: Орск
Ребята, нужна помощь.... может вопрос конечно и слишком простой... но я уже незнаю просто как делать... много вариантов перепробовал... не получается Суть задачи: Дан массив целых чисил а(40), при помощи массива указателей вывести числа этого массива по принципу: первый, последний, второй, предпоследний, и т.д... по идеи код тут прост, просто не пойму в чем ошибка %), это одна из задач курсовой....
Код:
#include<stdio.h> #include<conio.h> #include<stdlib.h> void main() { clrscr(); printf("\n\t\t\tMACCuB A\n"); int i,k=0,a[40],*s[40]; for (i=0;i<40;i++) { a[i]=random(100)-21; //s[i]=&a[i]; printf("%5d",a[i]); } for (i=0;i<40;i+=2) s[i]=&a[i]; for (i=40;i<0;i-=2) s[i]=&a[i]; printf("\nMaccuB S\n"); for (i=0;i<40;i++)
printf("%5d",*s[i]); }
еще много вариантов перепробовал %) этот мне кажется наиболее ближе к реальности...
// Pring arrays functions family // option format (oct/dec/hex) currently // unrealize. // [TODO] create Print Hyper Dimention function // (require random number input arguments, lenght of // each vector in hyper array)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения