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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 12:45   #1
Credo4444
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 15
По умолчанию Указатели при работе с одномерными и двумерными массивами

Помогите
Даны натуральное число n, целые числа а1,...,аn . Выяснить, имеется ли среди чисел а1,...,аn совпадающие. Язык Си, нужно сделать в указателях

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define a 3
#define b 2
int main()
{ int i,j,k;
clrscr();
int masiv[a][b];
 printf("VVOD MASIVA\n");
for( i=0;i<a;i++){
for ( j=0; j<b;j++){
   fflush(stdin);
   scanf("%d",&masiv[i][j]);
}
}
printf("VVOD CHISLA\n");
fflush(stdin);
scanf("%d",&k);
for( i=0;i<a;i++){
for ( j=0;j<b;j++){
 if(masiv[i][j]==k) printf(" ecty element");
 
}
}
getchar();
}

Последний раз редактировалось Credo4444; 20.04.2011 в 12:52.
Credo4444 вне форума Ответить с цитированием
Старый 20.04.2011, 13:44   #2
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Credo4444 Посмотреть сообщение
Даны натуральное число n, целые числа а1,...,аn . Выяснить, имеется ли среди чисел а1,...,аn совпадающие.
n -это количество целых чисел или это число, совпадение с которым ищем?
Sonejka вне форума Ответить с цитированием
Старый 20.04.2011, 13:48   #3
Credo4444
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Sonejka Посмотреть сообщение
это число, совпадение с которым ищем?
Да это число с которым ищем
Credo4444 вне форума Ответить с цитированием
Старый 20.04.2011, 13:54   #4
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

зачем нужен был двумерный массив?

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <iostream>
#include <conio>
#pragma hdrstop
using namespace std;

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
        int n,*i,*j,*k,l=0;
        cout<<"Enter n\n";
        cin>>n;
        int *A=new int [n];
        cout<<"Enter "<<n<<" numbers\n";
        for (i=A;i<A+n;i++)
                cin>>*i;
        cout<<"Enter number\n" ;
        cin>>*k;
        for(i=A;i<A+n-1;i++){
                if(*i==*k)
                        l++;
        }
        if (l!=0)
                cout<<"YES";
        else
                cout<<"NO";
        getch();
        return 0;
}
//---------------------------------------------------------------------------
Sonejka вне форума Ответить с цитированием
Старый 20.04.2011, 14:10   #5
Credo4444
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 15
По умолчанию

Спасибо но почему в Си не работает?

Код:
#include <stdio.h>


void main()
{
        int n,*i,*j,*k,l=0;
        printf("Enter n\n");
        scanf("%d",&n);
        int *A=new int [n];
        printf("Enter" , &n ," numbers\n");
        for (i=A;i<A+n;i++)
                scanf("%d",*i);
        printf("Enter number\n") ;
        scanf("%d",*k);
        for(i=A;i<A+n-1;i++){
                if(*i==*k)
                        l++;
        }
        if (l!=0)
                printf("YES");
        else
                printf("NO");
        return 0;
}
Credo4444 вне форума Ответить с цитированием
Старый 20.04.2011, 14:23   #6
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Credo4444 Посмотреть сообщение

Код:
        for(i=A;i<A+n-1;i++){
                if(*i==*k)...
тут надо for(i=A;i<A+n;i++). тормознула. в С++ всё ок. неправильно работает или ошибку выдаёт?
Sonejka вне форума Ответить с цитированием
Старый 20.04.2011, 14:35   #7
Credo4444
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 15
По умолчанию

Програма неправильно работает
Credo4444 вне форума Ответить с цитированием
Старый 20.04.2011, 14:35   #8
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

терь должно работать и в Си

Код:
        int n,*i,*j,*k,l=0;
        printf("Enter n\n");
        scanf("%d",&n);
        int *A=new int [n];
        printf("Numbers\n");
        for (i=A;i<A+n;i++)
                scanf("%d",i);
        printf("Enter number\n") ;
        scanf("%d",k);
        for(i=A;i<A+n;i++){
                if(*i==*k)
                        l++;
        }
        if (l!=0)
                printf("YES");
        else
                printf("NO");
        return 0;

Последний раз редактировалось Sonejka; 20.04.2011 в 14:44.
Sonejka вне форума Ответить с цитированием
Старый 20.04.2011, 14:59   #9
Credo4444
Пользователь
 
Регистрация: 01.03.2011
Сообщений: 15
По умолчанию

Почему неправильно ??
Credo4444 вне форума Ответить с цитированием
Старый 20.04.2011, 15:06   #10
Sonejka
Пользователь
 
Регистрация: 20.04.2011
Сообщений: 10
По умолчанию

если и так не пойдёт, то это какие-то особенности Си о которых я не знаю

Код:
        int n,*i,*j,*k,l=0;
        printf("Enter n\n");
        scanf("%d",&n);
        int *A=new int [n];
        printf("Numbers\n");
        for (i=A;i<A+n;i=i+1)
                scanf("%d",i);
        printf("Enter number\n") ;
        scanf("%d",k);
        for(i=A;i<A+n;i=i+1){
                if(*i==*k)
                        l=l+1;
        }
        if (l==0)
                printf("NO");
        else
                printf("YES");
        return 0;
Sonejka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при работе с динамическими массивами GBAXA Общие вопросы Delphi 16 30.03.2011 09:28
процедуры и функции при работе с массивами irina belka Помощь студентам 1 12.12.2010 16:33
Работа с одномерными и двумерными массивами в Delphi arhaon Помощь студентам 4 10.06.2010 15:50
Переполненние стека при работе с массивами max&ilja Помощь студентам 2 22.12.2009 22:03
Как работать с двумерными массивами через указатели? pascalC Общие вопросы C/C++ 1 12.11.2008 08:33