Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для c++\noob
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52

Найти количество нулевых элементов массива и заменить их на найденное значение

23.12.2010, 19:17. Показов 1720. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:

Найти количество нулевых элементов и заменить их на найденное значение.

Например, 1 2 0 4 5 7 0 – 1 2 2 4 5 7 2

Массив обьявил, а задание не пойму. Помогите кто чем может.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
 
int main(int argc, char *argv[])
{
srand((unsigned)time(NULL));
const int N=20;
int mass[N], i;
int n=rand()%(20)+1;
for (i=0;i<n;i++)
{
mass[i]=rand()%(201)-100;
printf("%d " ,mass[i]);
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2010, 19:17
Ответы с готовыми решениями:

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение
Работа с массивами:

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение
Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение ...

Определите количество нулевых элементов и умножьте элементы второго столбца на найденное значение
Определите количество нулевых элементов и умножьте элементы второго столбца на найденное значение

3
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
23.12.2010, 19:21
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main ()
{
    const size_t n = 7;
    int a[n] = {1, 2, 0, 4, 5, 7, 0}, cnt = 0;
 
    for(int i = 0; i < n; ++i)
        if(!a[i])
            ++cnt;
 
    for(int i = 0; i < n; ++i)
        if(!a[i])
            a[i] = cnt;
 
    for(int i = 0; i < n; ++i)
        std::cout << a[i] << ' ';
 
    return 0;
}
1
37 / 36 / 4
Регистрация: 08.08.2010
Сообщений: 162
23.12.2010, 20:23
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Подойдём к вопросу основательно

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <stdlib.h>
 
void dialog(int ** array, size_t * size) {
    printf("Input array size   : ");
    scanf("%lu", size);
    printf("Input array content: ");
 
    *array = (int *) malloc(sizeof(int) * (*size));
    
    size_t i;
    for (i=0; i<(*size); i++) {
        scanf("%d", (*array + i));
    }
}
 
void pprint_array(int * array, size_t size) {
    size_t i;
    printf("Array:");
    for (i=0; i<size; i++) {
        printf(" %d", array[i]);
    }
    printf("\n");
}
 
void vorker(int * array, size_t size) {
    int sum = 0;
    size_t i;
    for (i=0; i<size; i++) {
        if(array[i] == 0) ++sum;
    }
 
    for (i=0; i<size; i++) {
        if(array[i] == 0) array[i] = sum;
    }
}
 
int main() {
    int * array;
    size_t size;
    
    dialog(&array, &size);
    pprint_array(array, size);
    vorker(array, size);
    pprint_array(array, size);
    
    return 0;
}
1
 Аватар для c++\noob
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
23.12.2010, 23:30  [ТС]
Спасибо вам всем я щас понял:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <conio.h>
 
int main ()
{
srand((unsigned)time(NULL));
const int N=20;
int a[N], i,col = 0;
int n=rand()%(20)+1;
for (i=0;i<n;i++)
{
a[i]=rand()%(201)-100;
printf("%d " ,a[i]);
}  
printf("\n");
 
    for(int i = 0; i < n; i++)
        if(a[i]==0)
            col++;
 
    for(int i = 0; i < n; i++)
        if(a[i]==0)
            a[i] = col;
 
    for(int i = 0; i < n; i++)
 
printf("%d ",a[i]);
printf("\n");
 
    getch ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2010, 23:30
Помогаю со студенческими работами здесь

В каждой части массива найти количество четных элементов и умножить на найденное значение
Разбить массив на две части. В каждой найти количество четных элементов и умножить на найденное значение последний элемент соответствующей...

Найти значение 3-его по значению элемента и значения всех элементов массива, которые его превышают, и заменить на найденное значение
Обьявить массив целых чисел и заполнить его случайными значениями.Размер массива и диапазон его элементов заданы в таблице.Там указывается...

Заменить значение всех нулевых элементов массива на единицу и найти сумму отрицательных элементов массива
Дан массив K(30). Заменить значение всех нулевых элементов массива на единицу и найти сумму отрицательных элементов массива.

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива....

Найти среднее арифметическое элементов массива и включить найденное значение в середину массива
Здравствуйте! Помогите, пожалуйста, решить информатику а то отчислят из универа. С VBA вообще никогда не сталкивался, а времени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru