Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение массива 
:(
    Опции темы
Anklaves
Дата 3.11.2010, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.11.2010

Репутация: нет
Всего: нет



Всем добрый день, искал по форуму и в книге, но не нашел, к сожалению.Поискал бы еще немного, если бы не сдавать скоро работу..Подскажите пожалуйста как сравнять массивы , если значение не цифра а буква? У меня никак не выходит...
Массивы никак не сравниваются.Спасибо.
Код

include <cstdio>
#include <cstdlib>
#include <iostream>
#include <math>
using namespace std;
void main(int argc, char* argv[])
{
    printf("Please enter a : ");
    int g=-1;
    int i;
    char shok;
    char text[500];
    char numb[10];
    char ntext[10];
    int kol;
    gets(text);
    i = strlen(text);
    cout << i << endl;
    for(int h,enter,exit; i>=0; i--)
    {
      switch(text[i])
      {
      case '1':
           cout << text[i] << endl;
           ntext[++g]='1';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '2':
           cout << text[i] << endl;
           ntext[++g]='2';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '3':
           cout << text[i] << endl;
           ntext[++g]='3';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '4':
           cout << text[i] << endl;
           ntext[++g]='4';
           text[i]='_';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '5':
           cout << text[i] << endl;
           ntext[++g]='5';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '6':
           cout << text[i] << endl;
           ntext[++g]='6';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '7':
           cout << text[i] << endl;
           ntext[++g]='7';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '8':
           cout << text[i] << endl;
           ntext[++g]='8';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      case '9':
           cout << text[i] << endl;
           ntext[++g]='9';
           text[i]='\'';
           kol=i;
           enter=1;
           exit=1;
           break;
      }

    if(exit==1)
         {
           if(enter==0) { cout << "STOP" << endl; break;}
         }
    enter=0;

    }
    cout << text << endl;     //
    system("PAUSE");
}


switch - можно было бы вовсе убрать циклом, если бы я знал как их сравнять, что на счет программы - она выдерает последние цифры в тексте.И заменяет их на пустоту(почти).Я плохо знаю С++, так что извиняюсь за особе нубство. smile .
Моя цель : чтобы он сравнивал каждый символ из введенного массива с каждый символом из массива , скажем mass[]={'1','2',...} -  цифр
но не выходит.

Добавлено через 3 минуты и 57 секунд
Программа не доделана, в ней еще много много чего нужно добавить.И не все задумки реализованы.
Так что если такая фиговая программа будет на несколько сотен строк, меня препод не просто убьет, он меня арестует smile
PM MAIL   Вверх
Anklaves
Дата 3.11.2010, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.11.2010

Репутация: нет
Всего: нет



Вопрос решен, переустановка компилятора помогла,Всем спасибо) 
Код

void main(int argc, char* argv[])
{
    char mass[5]={'0','a','t','c','4',};
    char mass2[5]={'0','a','t','j','8',};
    for(int i=1; i<=4; i++)
    {
       if(mass[i]==mass2[i])
         {
            printf("YEES HIS working!!\n");
         }
         else
         { printf("dont work!\n"); }

    }
    system("PAUSE");
}


Код всегда выдавал dont work.
После переустановки заработало.. странно

Это сообщение отредактировал(а) Anklaves - 3.11.2010, 02:22
PM MAIL   Вверх
bsa
Дата 3.11.2010, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Anklaves, элементы массива нумеруются с 0. ты же их перебираешь с 1. В итоге, ты не учитываешь самый первый элемент ('0'). Кстати, вывод у твоей программы какой-то странный... Я бы ограничился одной фразой в конце: "массивы равны" или "массивы не равны".
PM   Вверх
mes
Дата 3.11.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Anklaves @  3.11.2010,  01:21 Найти цитируемый пост)
 i<=4;

плохая практика.. следует придерживаться общепринятых правил..
и сравнивать не <=last, a <end;

Добавлено через 2 минуты и 37 секунд
ну и операции сравнения уже давно придумали..
для вашего случая : http://cplusplus.com/reference/clibrary/cstring/memcmp/


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.