Предмет: Информатика,
автор: AnnVoo
ПРОГРАММИРОВАНИЕ В СИ++.
Ввести массив целых чисел, в котором есть нулевые элементы. Создать массив из номеров этих элементов. (Исправить ошибки в программе)
#include <stdio.h>
#include <iostream>
#include <malloc.h>
const int N = 10;
int main()
{
setlocale(LC_ALL, "RUS");
int i, n=0;
int array[N];
int *a;
puts("Исходный массив:");
for (int i = 0; i
{
printf_s("Введите %d элемент:", i);
scanf_s("%d", &array[i]);
}
system("cls");
puts("Исходный массив:");
for (int i = 0; i
{
printf_s("%d", array[i]);
}
printf_s("\n");
for (int i = 0; i
{
if (array[i] == 0)
{
n = n++;
}
}
printf_s("Новый массив:\n");
a = (int*)malloc(n*sizeof(int));
for (i = 0; i
{
a[i] = 0;
}
for (i = 0; i
{
if (array[i] == 0)
{
a[i] = i;
}
}
for (i = 0; i < n; i++)
{
printf_s("%d", a[i]);
}
free(a);
printf_s("\n");
system("pause");
return 0;
}
Ответы
Автор ответа:
1
#include <stdio.h>
#include <iostream>
#include <malloc.h>
const int N = 10;
int main()
{
setlocale(LC_ALL, "RUS");
int i, j=0, n=0;
int array[N];
int *a;
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("Введите %d элемент:", i);
scanf("%d", &array[i]);
}
system("cls");
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("%d ", array[i]);
}
printf("\n");
for (i=0; i<N; i++)
if (array[i] == 0)
n++;
printf("Новый массив:\n");
a = (int *)malloc(n*sizeof(int));
for (i=0; i<N; i++)
if (array[i] == 0) {
a[j] = i;
printf("%d ", a[j]);
j++;
}
free(a);
printf("\n");
system("pause");
return 0;
}
Тестовое решение:
Исходный массив:
5 0 3 6 0 0 2 1 0 5
Новый массив:
1 4 5 8
Для продолжения нажмите любую клавишу . . .
#include <iostream>
#include <malloc.h>
const int N = 10;
int main()
{
setlocale(LC_ALL, "RUS");
int i, j=0, n=0;
int array[N];
int *a;
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("Введите %d элемент:", i);
scanf("%d", &array[i]);
}
system("cls");
puts("Исходный массив:");
for (i=0; i<N; i++) {
printf("%d ", array[i]);
}
printf("\n");
for (i=0; i<N; i++)
if (array[i] == 0)
n++;
printf("Новый массив:\n");
a = (int *)malloc(n*sizeof(int));
for (i=0; i<N; i++)
if (array[i] == 0) {
a[j] = i;
printf("%d ", a[j]);
j++;
}
free(a);
printf("\n");
system("pause");
return 0;
}
Тестовое решение:
Исходный массив:
5 0 3 6 0 0 2 1 0 5
Новый массив:
1 4 5 8
Для продолжения нажмите любую клавишу . . .
Похожие вопросы
Предмет: Другие предметы,
автор: поплрадДРм
Предмет: Русский язык,
автор: kanevskiygabe
Предмет: Русский язык,
автор: Аноним
Предмет: Математика,
автор: Аноним
Предмет: Алгебра,
автор: alenka3158