|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Массив в обратном порядке
Мне необходимо написать программу, которая отображает массив чисел в обратном порядке и количество значений в массиве.
Сначала я решил написать программу следующим образом: Код:
#include <stdio.h> #include <conio.h> define SIZE 10 int main() { int a[SIZE]; int i, pass, hold; for (i = 0; i <= SIZE- 1; i++) scanf("%s", &a[SIZE]); for(pass = 1; pass<= SIZE- 1; pass++) for(i = 0; i <= SIZE- 2; i++) if(a[i] < a[i + 1]) { hold = a[i]; a[i] = a[i + 1]; a[i + 1] = hold; } for(i = 0; i <= SIZE- 1; i++) printf("%4d\n", a[i]); printf("%4d\n", a[SIZE]); getch(); return 0; } Код:
#include <stdio.h> #include <conio.h> int main() { int m, a[m]; int i, pass, hold; for (i = 0; i <= m - 1; i++) scanf("%s", &a[m]); for(pass = 1; pass<= m - 1; pass++) for(i = 0; i <= m - 2; i++) if(a[i] < a[i + 1]) { hold = a[i]; a[i] = a[i + 1]; a[i + 1] = hold; } for(i = 0; i <= m - 1; i++) printf("%4d\n", a[i]); printf("%4d\n", m); getch(); return 0; } |
#2
|
|||
|
|||
Цитата:
Для создания массива надо использовать new, а сам массив определять как int * a[]; например. Случайное число можно получить через функцию rand. Под рукой нет компилятора С, так что пример ниже надо будет проверить по справке, но идея такая: Код:
int main() { int N = rand(100) + 1; // кол-во элементов int * a = new int[N]; // Вывод кол-ва элементов printf("Array size is %d\n",N); // Инициализация случайными числами и вывод в прямом порядке for (int i = 0; i < N; i++) { a[i] = rand(2000) - 1000; printf("%d, ",a[i]); } printf("\n"); // Вывод в обратном порядке for (int i = N; i > -1; i--) { printf("%d, ",a[i]); } printf("\n"); delete [] a; } Последний раз редактировалось lmikle, 02.01.2013 в 07:55. |
#3
|
||||
|
||||
lmikle, ты уж определись, malloc или new. Или то, или другое, вместе то зачем?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#4
|
|||
|
|||
Цитата:
Упс, не поправил код Хотел сначала через malloc написать, потом через new переделал... Поправил... |
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Там include соотв. надо добавить, не помню какой.
Посмотри по справке. |
#7
|
|||
|
|||
Цитата:
|
#8
|
|||
|
|||
Цитата:
|
#9
|
|||
|
|||
М-м-м... а что, в документацию лень заглянуть?..
Код:
... int N = rand() % 100 + 1; ... s[i] = rand() % 2000 - 1000; ... |
#10
|
|||
|
|||
Я сделал программу вот-так. Как в этом случае отобразить элементы массива в обратном порядке?
Код:
#include <stdio.h> #include <conio.h> int main() { int T, a[1000], i, N; scanf("%d", &T); while(T > 0) { scanf("%d", &N); /*for(i = N; i >= 0; i--)*/ while(N > 0) { scanf("%d", &a[N]); printf(" %d", a[N]); N--; } T--; } getch(); return 0; } |