Числовые адреса для компьютеров в международной сети «Интернет» состоит из четырех частей, разделенных точками, формы xxx.yyy.zzz.mmm, где xxx, yyy, zzz и mmm - целые положительные числа. Локально, компьютеры, как правило, известны и по прозвищу.Отладка части сравнения строк с ошибкой Runtime
Примеры данных
IP address Name
111.22.3.44 platte
555.66.7.88 wabash
111.22.5.66 green
0.0.0.0 none
Пара компьютеров, как говорят, в той же местности, когда первые два компонента адреса одинаковы. Учитывая детали некоторых компьютеров, разработайте алгоритм и напишите программу на C, чтобы отобразить список сообщений, идентифицирующих каждую пару компьютеров из той же местности. В сообщениях компьютеры должны быть идентифицированы по их прозвищам. В этом примере сообщение, которое будет отображаться, будет «Машины», а зеленый - в одной локальной сети.
#include<stdio.h>
#include<string.h>
void main()
{
int n,p,i,j;
char s[20][20],na[10][10];
scanf("%d",&n);
for(i=0;i < n;i++)
{
scanf("%s%s",s[i],na[i]);
p=0;
j=0;
while(p!=2)
{
j++;
if(s[i][j]=='.')
p++;
}
s[i][j]='\0';
}
for(i=0;i < n-1;i++)
for(j=i+1;j < n;j++)
if(strcmp(s[i],s[j])==0)
printf("Machines %s and %s are on the same local network",na[i],na[j]);
}
код не производит вывод на всех (ошибка времени выполнения), и я не могу понять, почему. EDIT: Отсутствуют ошибки или предупреждения компилятора. Просто выполнение дает мне пустой экран вывода.
Это код C и должен быть помечен (только) как таковой; в C++ есть лучшие способы сделать все это. Также 'main' должен возвращать' int'. C99 допускает типы возвращаемых реализацией, но для переносимости вы должны использовать 'int'. –
Пожалуйста, укажите сообщение об ошибке, которое вы получаете. –
EDIT: Отсутствуют ошибки или предупреждения компилятора. Просто выполнение дает мне пустой экран вывода. – Recurse