Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
morozig
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 3
#1

Найти в первом массиве максимальное число и все числа, находящиеся до него, записать в третий - C (СИ)

11.07.2013, 20:59. Просмотров 486. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста с задачей. Дано 2 массива размером от 10 до 20 (рандом), заполненных случайными числами. Найти в первом массиве максимальное число и все числа, находящиеся до него записать в 3ий массив. Во втором массиве найти максимальное число и все числа после него записать в 3ий массив (т.е. переместить к тому что получили из 1ого массива).
Заранее спасибо!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 20:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти в первом массиве максимальное число и все числа, находящиеся до него, записать в третий (C (СИ)):

Найти последнее неотрицательное число в массиве и разделить на него положительные числа массива - C (СИ)
В результате не выдает результат деления. Дан одномерный массив чисел {Ai}, i =1...14. Найти последнее неотрицательное число в массиве и...

Найти максимальное или минимальное числа в массиве - C (СИ)
Привет всем! У меня есть такая задач: Должен найти максимальное, или минимальное числа в массиве. Сортировка вставками, быстрое, и...

Найти в массиве элемент, который повторяется максимальное число раз - C (СИ)
Максимальное число раз.cpp : Defines the entry point for the console application. // Дан массив а. Найти элемент, который повторяется...

Найти максимальное число и подсчитать, сколько раз оно находится в массиве - C (СИ)
Need help Не получается посчитать максимальное число сколько раз оно находиться в массиве. Спасибо. Code: #include <stdio.h> ...

Найти все слова текста, в которых буквы ‘a’ и ‘b’ встречаются максимальное число раз - C (СИ)
помогите написать программу на Си Ввести массив строк символов (текст). Найти все слова текста, в которых буквы ‘a’ и ‘b’...

В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него - C (СИ)
В массиве М(45) найти максимальный среди отрицательных элементов и число нулевых элементов стоящих после него. #include<stdio.h> ...

1
fanatdebian
Z3JheSBoYXQ=
337 / 232 / 35
Регистрация: 08.07.2012
Сообщений: 577
12.07.2013, 07:09 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE 20
 
 /* prototype functions */
 
void genRandomArray(int count, int array[]);
int findMax(int array[], int count);
 
 
int main()
{
    int arrayA[SIZE] = {0} , arrayB[SIZE] = {0}, posA = 0, posB = 0;
    int index = 0;
    int arrayC[SIZE*2], posC = 0, len = 0;
    
    srand(time(NULL));      
    genRandomArray(SIZE, arrayA);
    genRandomArray(SIZE, arrayB);   
    /* view  arrayA and arrayB */
        /* arrayA */
        printf("ArrayA: ");
    for(index=0; index < SIZE; index++)
        printf("%d ", arrayA[index]);
    printf("\n");
        /* arrayB */
        printf("ArrayB: ");
    for(index=0; index < SIZE; index++)
        printf("%d ", arrayB[index]);
    printf("\n\n");
        
    posA = findMax(arrayA, SIZE);   
    posB = findMax(arrayB, SIZE);
    /* get length potential size arrayC */
    len = posA + (SIZE - posB); 
    printf("Max in arrayA: %d ArrayA[pos]: %d\nMax in ArrayB: %d ArrayB[pos]: %d\n", posA, arrayA[posA], posB, arrayB[posB]);
    
    /* copy arrayA -> arrayC  [0..posA] */  
    for(index = 0; index < posA; index++, posC++){
        arrayC[posC] = arrayA[index];   
    }
    /* copy arrayB -> arrayC  [posB..SIZE] */   
    for(posB++;posB < SIZE; posB++, posC++){
        arrayC[posC] = arrayB[posB];                    
    }
    /* view arrayC = result */
    printf("\nArrayC: ");   
    for(index = 0; index<len-1; index++){
        printf("%d ", arrayC[index]);
    }
    printf("\n");
    
    return 0;
}
 
/* generic random array [size = count]*/
void genRandomArray(int count, int array[]){
    
    int index = 0;
        
    for (index = 0; index < count; index++){            
            array[index] = rand()%99;                       
        }                                   
}
/* find max int value return MAX value pos in array*/
int findMax(int array[], int count){
    
    int index = 0, max = 0, pos = 0;    
    for (max = array[index]; index < 20; index++){      
        if (max < array[index]){
            pos = index;
            max = array[index];     
        }               
    
    }       
    return pos; 
}
C
1
2
3
4
5
6
7
8
9
[spouk@/mnt/big1gb/hddDevelop/source/c/2013$] forum_random
ArrayA: 58 5 94 39 49 59 17 46 54 34 7 65 93 84 79 65 69 10 12 34 
ArrayB: 34 92 66 18 58 54 66 66 5 42 87 63 47 80 2 94 39 17 41 93 
 
Max in arrayA: 2 ArrayA[pos]: 94
Max in ArrayB: 15 ArrayB[pos]: 94
 
ArrayC: 58 5 39 17 41 93 
[spouk@/mnt/big1gb/hddDevelop/source/c/2013$]
В результирующий массив я не включаю найденные максимальные значения.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 07:09
Привет! Вот еще темы с ответами:

Найти максимальное число в массиве и определить, сколько цифр числа делятся на число Z - C++
Массив intA=

В массиве А[1..N] определить максимальное значение. Все элементы, находящиеся в массиве до максимального значения, увеличить на первое значение массив - Assembler
Составил код, но не работает зараза(( (ассемблер у нас встроенный в паскаль) uses crt; const n=10; var a:array of integer; ...

Найти в первом стеке максимальное число, а во втором - наименьшее число - Pascal
даны два стека, в каждом из которых находится по 10 различных чисел. Найти в первом стеке максимальное число, а во втором- наименьшее число.

Записать в третий файл положительные элементы того файла, в котором находится максимальное отрицательное число - Pascal ABC
Сформировать два файла из некоторых чисел. Записать в третий файл положительные элементы того файла, в котором находится ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru