![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. Или то, или другое, вместе то зачем?
![]() |
|
#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;
} |