М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
romabryuxachev
romabryuxachev
01.10.2021 05:11 •  Информатика

Программирование в си++. ввести массив целых чисел, в котором есть нулевые элементы. создать массив из номеров этих элементов. (исправить ошибки в программе) #include #include #include 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; }

👇
Ответ:
#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
Для продолжения нажмите любую клавишу . . .
4,4(21 оценок)
Открыть все ответы
Ответ:
raku13
raku13
01.10.2021
В задании не сказано, откуда берутся исходные данные, поэтому будем вводить их с клавиатуры. Сначала ведем общее количество данных (не факт, что данные за месяц снимались строго ежедневно), а затем сами данные. Это позволит заодно осуществить контроль ввода.

var
  n,s,t,i:integer;
begin
  Write('Укажите количество данных: ');
  Read(n);
  Writeln('Теперь вводите данные');
  s:=0;
  for i:=1 to n do
    begin
    Read(t);
    s:=s+t
    end;
  Writeln('Средняя температура за месяц составила ',s/n:0:1)
end.

Пример решения

Укажите количество данных: 11
Теперь вводите данные
27 29 26 31 24 23 27 30 31 28 25
Средняя температура за месяц составила 27.4
4,4(48 оценок)
Ответ:
Дорога, соединяющая города i и j, даст единицу в две позиции - (i, j) и (j, i). Тогда общее количество единиц в матрице равно удвоенному числу дорог. Отсюда и простое решение - считать N^2 чисел, подсчитать количество единиц и поделить его на 2. Можно считать и сумму - от этого ничего не изменится.

   #include <iostream> 
   int main() {
       int n = 0, sum = 0, temp = 0;
       std :: cin >> n;
       for (int i = 0; i < n * n; i++) {
           std :: cin >> temp;
           sum += temp;
       }
       std :: cout << sum / 2;
       return 0;
   }
4,6(57 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ