Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2012, 18:31   #1
Immoralist
Подтвердите свой е-майл
 
Регистрация: 14.04.2012
Сообщений: 38
Радость Задачки про массивы на чистом СИ

Здравствуйте, нужна ваша помощь для решения задач про массивы на СИ.
Вот задачи и некоторые мои мысли:

1) Даны два массива A и B размера 5, элементы которых упорядочены по возрастанию. Объединить эти массивы так, чтобы результирующий массив C (размера 10) остался упорядоченным по возрастанию.
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
    
short ij=1kA[5], B[5], C[10];
    
srand(time(0));
    
A[0]=20+rand()%100;
    
B[0]=10+rand()%200;
    for (
i=0i<5;i++) A[i]=A[i-1]+rand()%500;
    for (
i=0i<5;i++) B[i]=B[i-1]+rand()%700;

    
i=1;
    for (
k=0k<10k++)
    {
        if (
A[i]>B[j]) {C[k]=B[j]; j++;}
        else {
C[i]=A[i]; i++;}
        if (
i=6) for (kk<10k++) {C[k]=B[j]; j++;}
        if (
j=6) for (kk<10k++) {C[k]=A[i]; i++;}
        if (
k==10) break;
    }
    for (
i=0i<10;i++) printf("%d\t",C[i]);

Вроде должно работать, но выводит числа другого диапазона. И этим проблема видимо не ограничивается.

2)Дан массив A размера N и целые числа K и L (1 <= K < L <= N). Переставить в обратном порядке элементы массива, расположенные между элементами AK и AL, не включая эти элементы.
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void main()
{
    
short n=1itkl, *a=new short[n];
    
scanf("%d",&n);
    for (
i=0i<ni++) printf("%d\t",a[i]);
    
scanf("%d",&k);
    
scanf("%d",&l);
    for (
i=0i<ni++) a[i]=rand();
    if ((
l-k)>2)
    {
        while ((
l-k)>2)
        {
            
t=a[k+1];
            
a[k+1]=a[l-1];
            
a[l-1]=t;
            
l++;
            
k++;
        }
    }
    for (
i=0i<ni++) printf("%d",a[i]);

Как-то не корректно работает.

3)Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся более двух раз, и вывести размер полученного массива и его содержимое.
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
    
long ijkrlft=0n=1, *a=new long[n];
    
scanf("%u",&n);
    
srand(time(NULL));
    for (
i=0i<ni++) a[i]=25+rand()%76;
    for (
i=0i<ni++)
    {
        for(
j=1j<nj++)
        {
            if (
a[i]=a[j] && t==1
                 {
                     
f=i;
                     
l=j;
                     for () {} 
//циклы смещения?
                     
for () {}
                     
n-=3;
                 }
            if (
a[i]=a[j]) r=jt++;
        }
    }
    for (
i=0i<ni++) printf("%d\t",a[i]);

Недоделанный и видимо неправильный алгоритм))Скажите как бы вы сделали...

4)Дано целое число K (> 0) и целочисленный массив размера N. Преобразовать массив, удвоив длину его серии с номером K. Если серий в массиве меньше K, то вывести массив без изменений.
Тут я не понял что от меня хотят...))Просветите...

Я бы и сам всё додумал, но сейчас времени мало...Если можете помочь, не поленитесь...))
Спасибо.
Immoralist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачки (Массивы) Pandemona18 Паскаль, Turbo Pascal, PascalABC.NET 3 08.03.2011 12:44
задачки на массивы в Си Defa4ka Помощь студентам 2 25.10.2009 18:03
Задачки на массивы Маськ@ Паскаль, Turbo Pascal, PascalABC.NET 4 20.12.2008 15:26