Форум программистов, компьютерный форум CyberForum.ru

скажите пожалуйста что не так? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Найти в матрице максимальный и минимальный элементы, поменять местами строки, в которых они расположены http://www.cyberforum.ru/cpp-beginners/thread973016.html
Операции с двумерными массивами Найти в матрице максимальный и минимальный элементы, поменять местами строки, в которых они расположены.
C++ Системные вызовы и работа с процессами Помогите пожалуйста с такой задачей: Родительский процесс считывает стандартной входной поток, передает его дочернему процессу, который удаляет "задвоенные" пробелы и выводит его в файл. Непонятна сама суть создания нового дочернего процесса и передачи между ними. http://www.cyberforum.ru/cpp-beginners/thread972988.html
C++ Программа не работает
Исправьте,пожалуйста, ошибку в программе #include <math.h> #include <stdio.h> #include <conio.h> void main(void) { int m,n,i; float P,ch,e,f; P=1;m=5;ch=1;e=0.0001; clrscr ();
C++ Считывание строки из файла
Здравствуйте. Есть такой класс (это упрощенный тестовый класс): class test_string { std::string s; public: test_string(const std::string &t = " ") :s(t){} std::string GetStr() const {return s;} void SetStr(const std::string &t) { s = t;}
C++ Не удается открыть включение http://www.cyberforum.ru/cpp-beginners/thread972965.html
Как исправить?
C++ Вылетает при введении данных в структуру. Делаю структуру вроде бы работает но вылетает после введение данных не пойму.Помогите пожалусто. #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> typedef struct kniga { char name ; char avtor ; char god_izdaniya ; подробнее

Показать сообщение отдельно
Salute
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 7
10.10.2013, 18:16     скажите пожалуйста что не так?
Первое, что бросается в глаза t[8][5]=100. Индексация массива должна начинаться с нуля и заканчиваться на N-1, в данном случае t[7][4]=100.

Добавлено через 20 минут
Вместо этого:
Кликните здесь для просмотра всего текста

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
if(a == 1)
{
    b = b1;
}
else
{
    if(a == 2)
    {
        b = b2;
    }
    else
    {
        if(a == 3)
        {
            b = b3;
        }
        else
        {
            if(a == 4)
            {
                b = b4;
            }
            else
            {
                b = b5;
            }
        }
    }
}


Используйте это:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
switch(a)
{
    case 1: { b = b1; } break;
    case 2: { b = b2; } break;
    case 3: { b = b3; } break;
    case 4: { b = b4; } break;
    default: { b = b5; } break;
}


Ну или хоть это

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(a == 1)
{
    b = b1;
}
else if(1 == 2)
{
    b = b2;
}
else if(1 == 3)
{
    b = b3;
}
else if(1 == 4)
{
    b = b4;
}
else if(1 == 5)
{
    b = b5;
}


А то читать невозможно, да и сами запутаетесь.

Добавлено через 22 часа 29 минут
Похоже проблема в scanf("%c", j). У вас второй аргумент типа int, а нужен char*.
Создайте дополнительный массив например char temp[32] и вместо j в scanf подставляйте temp.

Добавлено через 8 минут
И поправьте индексы в массиве int t[8][5]. Объявлен он правильно, но потом индексация должна начинаться с t[0][0] и заканчиваться на t[7][4]. Не забудьте проверить индексы и в циклах, в которых используете этот массив.

Добавлено через 33 минуты
Можно вместо массива можно обойтись просто char temp и scanf("%c", &temp). Кстати, из за этого же scanf у вас будет еще одна проблема. Вы не сможете выбрать объект над которым хотите выполнить операцию. После того как вы введете название операции и нажмете Enter, scanf("%s", d) запишет введенную строку в массив d, но оставит во входной очереди символ новой строки. На этот символ наткнется scanf("%c", &temp) и решит что вы нажали Enter. Можно поставить перед %c пробел ("%c" -> " %c"), тогда scanf проигнорирует символ новой стоки.
Работа со строками в C++ - самое ужасное занятие, если не пользоваться STL контейнерами))
 
Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru