С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
659 / 459 / 241
Регистрация: 10.06.2016
Сообщений: 2,187
1

Почему искажается массив?

26.04.2018, 12:14. Показов 520. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот такой фрагмент и результат его выполнения. Почему то искажается содержимое массива a после заполнения массива b. Знатоки С++ объясните, пожалуйста, что не так?
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
#include <cstdlib> // для system
#include <iostream> 
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{    
        double c1,c2,h,k,dmin,dmin_o; 
        int n,i,j,i0;
        double a[3][3];
        double b[3];
        double x[4]={0.6,0.7,0.8,0.9};
        setlocale(0, "");
        for(i=0;i<=3;i++)
        {
        for(j=0;j<=3;j++)
        a[i][j]=0;  
        }
        for(i=0;i<=3;i++)
        cout << a[i][0]<<"*"<< a[i][1]<<"*"<< a[i][2]<<"*"<< a[i][3]<< endl;
        cout << "" << endl;
        for(i=0;i<=3;i++)
            b[i]=1.5;
        for(i=0;i<=3;i++)
        cout << a[i][0]<<"*"<< a[i][1]<<"*"<< a[i][2]<<"*"<< a[i][3]<< endl;
Почему искажается массив?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.04.2018, 12:14
Ответы с готовыми решениями:

Почему искажается изображение?
Не могу понять откуда появляются полоски и искажение изображения. void ReadImage() { /* for...

Почему возможно задать массив с размером -1 (почему такое вообще компилируется)?
Всем привет. Долгое время не писал на плюсах, решил пройтись по основам, вспомнить. По...

Искажается текст в ?
Здравствуйте! Столкнулся с такой проблемой: при передаче картинки из ActionScript3 в php и...

Искажается иконка приложения
Добрый вечер! Почему у меня иконка у приложения, не как я задумал? И как решить эту проблему? ...

5
603 / 403 / 212
Регистрация: 30.04.2017
Сообщений: 743
26.04.2018, 12:29 2
slava_psk,
Во всех циклах идет выход за границы массива.
Для массива а и b являются максимальными ячейки a[2][2] и b[2]
Нужно заменить везде условия в циклах "<=3" на "<3" или "<=2"
Это то же не является корректным "a[i][3]" - выход за границы
0
659 / 459 / 241
Регистрация: 10.06.2016
Сообщений: 2,187
26.04.2018, 12:36  [ТС] 3
Ovederax, Т..е 3 означает не последний индекс, а размер, т.е. i=0,1,2?

Проверил сделав массив a[4][4] все получилось, спасибо. Все же это не хорошо, что компилятор не жалуется за выход индекса за границы массива. В Vb.Net, например это бы не прошло.
0
603 / 403 / 212
Регистрация: 30.04.2017
Сообщений: 743
26.04.2018, 12:38 4
Да, последний индекс на 1 меньше размера
0
516 / 408 / 188
Регистрация: 08.04.2013
Сообщений: 1,747
26.04.2018, 15:17 5
Любим писать лишнее ??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{    
        double c1,c2,h,k,dmin,dmin_o; 
        int n,i,j,i0;
        double a[4][4] = {};// заполнит нулями
        double b[4];
        double x[]={0.6,0.7,0.8,0.9}; // сама знает сколько цифр
        setlocale(0, "");
       // for(i=0;i<=3;i++)
       // {
      //  for(j=0;j<=3;j++)
      //  a[i][j]=0;  
      //  }
        for(i=0;i<4;i++)
        cout << a[i][0]<<"*"<< a[i][1]<<"*"<< a[i][2]<<"*"<< a[i][3]<< endl;
        cout << "" << endl;
        for(i=0;i<4;i++)
            b[i]=1.5;
        for(i=0;i< 4;i++)
        cout << a[i][0]<<"*"<< a[i][1]<<"*"<< a[i][2]<<"*"<< a[i][3]<< endl;
    }
0
659 / 459 / 241
Регистрация: 10.06.2016
Сообщений: 2,187
26.04.2018, 16:03  [ТС] 6
marat_miaki, да не любим, просто пока не знаем, учимся. Спасибо.
0
26.04.2018, 16:03
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.04.2018, 16:03
Помогаю со студенческими работами здесь

Lineage2: изображение сильно искажается
Я начинаю играть в Lineage2 и через 5-10 мин с экраном происходит вот это-экран сильно эскажается...

При печати текст искажается
Собственно вопрос в сабже. При печати получается то, что в прикреплённом скане. Прикрепил пример.

Не уходит в сон/искажается звук
Всем привет. После последней переустановки системы появилось две проблемы с уходом в сон. 1....

Искажается звук при воспроизведении
искажённый звук в realtek alc665 audio где найти рабочий драйвер или кодек я х.з

Искажается изображение на ноутбуке samsung R60plus
Привет всем! С недавних пор дисплей на ноутбуке samsung R60plus начал &quot;пикселизоваться&quot;, точное...

Искажается текст в мемо при редактировании
Привет всем, есть текст примерно такого формата йцуйцуй 41241241 ка23 пр34 4н3е3 удаляю...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru